PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nRVVDLUtSJyA/Pgo8IURPQ1RZUEUgbWFudWFscGFnZSBTWVNURU0gIi4uL3N0eWxlL21hbnVhbHBhZ2UuZHRkIj4KPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0iLi4vc3R5bGUvbWFudWFsLmtvLnhzbCI/Pgo8IS0tIEVuZ2xpc2ggUmV2aXNpb246IDEuOSAtLT4KCjwhLS0KIENvcHlyaWdodCAyMDAzLTIwMDQgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0tPgoKPG1hbnVhbHBhZ2UgbWV0YWZpbGU9ImlwLWJhc2VkLnhtbC5tZXRhIj4KPHBhcmVudGRvY3VtZW50IGhyZWY9Ii4vIj6wobvzyKO9usauPC9wYXJlbnRkb2N1bWVudD4KICAgPHRpdGxlPr7GxsTEoSBJULHiud0gsKG788ijvbrGriDB9r/4PC90aXRsZT4KCjxzZWVhbHNvPgo8YSBocmVmPSJuYW1lLWJhc2VkLmh0bWwiPsDMuKex4rndILChu/PIo726xq4gwfa/+DwvYT4KPC9zZWVhbHNvPgoKPHNlY3Rpb24gaWQ9InJlcXVpcmVtZW50cyI+PHRpdGxlPr3DvbrF2yC/5LG4u+fH1zwvdGl0bGU+CgogICAgPHA+PGNpdGU+SVCx4rndPC9jaXRlPsDMtvUguLvAzCDAx7nMx8+17cDMILytufa0wgogICAgPHN0cm9uZz5JULHiud0gsKG788ijvbrGriCworCiv6EgtOvH2CC02bilIElQIMHWvNK4pgogICAgsKHBrr7fx9G02Twvc3Ryb25nPi4gwMy0wiDExMe7xc24piC5sLiuwPvAuLfOIL+pt68gs9fGrr/3v6EKICAgIL+ssOHHz7DFs6osIMPWsdkgv+6/tcO8waa/obytIMH2v/jHz7TCILChu/MgwM7FzcbkwMy9urimCiAgICAowNq8vMfRILO7v+vAuiC9w726xdsgua68rbimIML8sO3Hz7bzLiDI58j3ICJpcCBhbGlhc2VzIrbzsO0KICAgIMfPuOcsILq4xesgImlmY29uZmlnIiC47bfJvu63ziC4uLXntNkpILvnv+vHz7+pILChtMnHz7TZLjwvcD4KCjwvc2VjdGlvbj4KCjxzZWN0aW9uIGlkPSJob3d0byI+PHRpdGxlPr7GxsTEoSC8s8Gkuea5/TwvdGl0bGU+CgogICAgPHA+v6m3ryDIo726xq64piDB9r/4x8+1tbfPIL7GxsTEobimILyzwaTHz7TCILnmuf3AuiC1zrChwfa02S4KICAgIMfPs6q0wiCwoiDIo726xq64trTZILqwtbXAxyDApbytufa4piC9x8fgx8+0wgogICAguf3AzLDtLCC02bilIMfPs6q0wiC48LXnILChu/PIo726xq64piDB9r/4x8+0wiC8rbn2IMfRsLO4pgogICAgvcfH4MfPtMIguea5/cDMtNkuPC9wPgoKICAgIDxwPr7wwaYgv6m3ryC8rbn2uKYgu+e/68fPs6o6PC9wPgoKICAgIDx1bD4KICAgICAgPGxpPsi4u+cywMcgu+e/68DasKEgwKXAzL/cwMcguea5/cC4t84gyLi75zHAxyDA2rfhuKYgwNDAuwogICAgICC89iC++LDUIMfPtMIgte4guri+yLvzILG4utDAzCDHyr/kx9EgsOa/7C4gwMwgsOa/7AogICAgICC1ziC8rbn2uKYgsKKwoiC02bilIDxkaXJlY3RpdmUKICAgICAgbW9kdWxlPSJtcG1fY29tbW9uIj5Vc2VyPC9kaXJlY3RpdmU+LCA8ZGlyZWN0aXZlCiAgICAgIG1vZHVsZT0ibXBtX2NvbW1vbiI+R3JvdXA8L2RpcmVjdGl2ZT4sIDxkaXJlY3RpdmUKICAgICAgbW9kdWxlPSJtcG1fY29tbW9uIj5MaXN0ZW48L2RpcmVjdGl2ZT4sIDxkaXJlY3RpdmUKICAgICAgbW9kdWxlPSJjb3JlIj5TZXJ2ZXJSb290PC9kaXJlY3RpdmU+ILyzwaTAuLfOIL3Hx+DH2L7fIMfRtNkuPC9saT4KCiAgICAgIDxsaT7D5rrQx9EguN648LiusKEgwNaw7SwgxMTHu8XNwMcguPC15yBJULimILHitNm4rrHiwKfH0QogICAgICDGxMDPseK8+sDaKGZpbGUgZGVzY3JpcHRvcikgv+SxuLvnx9e1tSC4uMG3x9G02S4gIr/NwM+15cSrteUis6oKICAgICAgxq/BpCDB1rzSuKYgPGRpcmVjdGl2ZQogICAgICBtb2R1bGU9Im1wbV9jb21tb24iPkxpc3RlbjwvZGlyZWN0aXZlPsfSILz2uLggwNa02S4gsde3obytCiAgICAgIL7utrIgwMzAr7+hvK2wxyDGr8GkIMHWvNK4piCx4rTZuLEgx8q/5LChIMDWtNm46SwgKMfRCiAgICAgIMClvK259rChIMfRIMHWvNK4piDBpr/cx9EguPC15yDB1rzSuKYgseK02biusO0gtNm4pSDH0QogICAgICDApbytufawoSDBpr/cx9Egwda80rimILHitNm4sSC89iDA1sH2uLgpIMH2waTH0SDB1rzSCiAgICAgILjwtc64piCx4rTZt8G+3yDH0bTZLjwvbGk+CiAgICA8L3VsPgoKICAgIDxwPr7wwaYgvK259iDH0bCzuKYgu+e/68fPs6o6PC9wPgoKICAgIDx1bD4KICAgICAgPGxpPrChu/PIo726xq616cDHIMClvK259iC8s8GkwLsgsPjAr8fSILz2IMDWtMIgsOa/7C48L2xpPgoKICAgICAgPGxpPsTEx7vFzbChILjFv+wguLnAuiC/5MO7wLsgvK268b26x9G02bjpIL+pt68gvK259rimCiAgICAgIL3Hx+DHz7Hiv6EgvNO1tSC81b3HwMwgxawgvPYgwNa02S48L2xpPgogICAgPC91bD4KCjwvc2VjdGlvbj4KCjxzZWN0aW9uIGlkPSJtdWx0aXBsZSI+PHRpdGxlPr+pt68gvK259rimIL3Hx+DHz7HiPC90aXRsZT4KCiAgICA8cD6woiCwobvzyKO9usauurC3ziDApbytufa4piC8s8Shx9G02S4gvLPBpMbEwM/AxwogICAgPGRpcmVjdGl2ZSBtb2R1bGU9Im1wbV9jb21tb24iPkxpc3RlbjwvZGlyZWN0aXZlPiDB9r3Dvu6/oQogICAgvK259rChILytuvG9usfSIElQIMHWvNIoyKTAuiCwobvzyKO9usauKbimIMD7vu7B2LTZLiC/ubimCiAgICC16bjpLDwvcD4KCiAgICA8ZXhhbXBsZT4KICAgIExpc3RlbiB3d3cuc21hbGxjby5jb206ODAKICAgIDwvZXhhbXBsZT4KCiAgICA8cD7Io726xq647SC6uLTZtMIgSVAgwda80rimILvnv+vHz7HmILnZtvW02S4KICAgICg8YSBocmVmPSIuLi9kbnMtY2F2ZWF0cy5odG1sIj5ETlMgua7BpjwvYT4gwvyw7Sk8L3A+Cgo8L3NlY3Rpb24+Cgo8c2VjdGlvbiBpZD0ic2luZ2xlIj48dGl0bGU+vK259iDHz7Oqt84gsKG788ijvbrGriC9x8fgx8+x4jwvdGl0bGU+CgogICAgPHA+wMwgsOa/7CDApbytufYgx9Gws7fOIMHWvK259r/NILjwtecgsKG788ijvbrGrr+hILTrx9EKICAgIL/kw7vAuyC8rbrxvbrH0bTZLiC8s8GkxsTAz8DHIDxkaXJlY3RpdmUKICAgIG1vZHVsZT0iY29yZSI+VmlydHVhbEhvc3Q8L2RpcmVjdGl2ZT4gwfa9w77uv6EgsKG788ijvbrGrri2tNkKICAgILTZuKUgPGRpcmVjdGl2ZSBtb2R1bGU9ImNvcmUiPlNlcnZlckFkbWluPC9kaXJlY3RpdmU+LAogICAgPGRpcmVjdGl2ZSBtb2R1bGU9ImNvcmUiPlNlcnZlck5hbWU8L2RpcmVjdGl2ZT4sIDxkaXJlY3RpdmUKICAgIG1vZHVsZT0iY29yZSI+RG9jdW1lbnRSb290PC9kaXJlY3RpdmU+LCA8ZGlyZWN0aXZlCiAgICBtb2R1bGU9ImNvcmUiPkVycm9yTG9nPC9kaXJlY3RpdmU+LCA8ZGlyZWN0aXZlCiAgICBtb2R1bGU9Im1vZF9sb2dfY29uZmlnIj5UcmFuc2ZlckxvZzwvZGlyZWN0aXZlPiwKICAgIDxkaXJlY3RpdmUgbW9kdWxlPSJtb2RfbG9nX2NvbmZpZyI+Q3VzdG9tTG9nPC9kaXJlY3RpdmU+CiAgICDB9r3Dvu4gsKrAuyC8s8Gkx9G02S4gv7m4piC16bjpLDwvcD4KCiAgICA8ZXhhbXBsZT4KICAgICZsdDtWaXJ0dWFsSG9zdCB3d3cuc21hbGxjby5jb20mZ3Q7PGJyIC8+CiAgICBTZXJ2ZXJBZG1pbiB3ZWJtYXN0ZXJAbWFpbC5zbWFsbGNvLmNvbTxiciAvPgogICAgRG9jdW1lbnRSb290IC9ncm91cHMvc21hbGxjby93d3c8YnIgLz4KICAgIFNlcnZlck5hbWUgd3d3LnNtYWxsY28uY29tPGJyIC8+CiAgICBFcnJvckxvZyAvZ3JvdXBzL3NtYWxsY28vbG9ncy9lcnJvcl9sb2c8YnIgLz4KICAgIFRyYW5zZmVyTG9nIC9ncm91cHMvc21hbGxjby9sb2dzL2FjY2Vzc19sb2c8YnIgLz4KICAgICZsdDsvVmlydHVhbEhvc3QmZ3Q7PGJyIC8+CgkJPGJyIC8+CiAgICAmbHQ7VmlydHVhbEhvc3Qgd3d3LmJheWdyb3VwLm9yZyZndDs8YnIgLz4KICAgIFNlcnZlckFkbWluIHdlYm1hc3RlckBtYWlsLmJheWdyb3VwLm9yZzxiciAvPgogICAgRG9jdW1lbnRSb290IC9ncm91cHMvYmF5Z3JvdXAvd3d3PGJyIC8+CiAgICBTZXJ2ZXJOYW1lIHd3dy5iYXlncm91cC5vcmc8YnIgLz4KICAgIEVycm9yTG9nIC9ncm91cHMvYmF5Z3JvdXAvbG9ncy9lcnJvcl9sb2c8YnIgLz4KICAgIFRyYW5zZmVyTG9nIC9ncm91cHMvYmF5Z3JvdXAvbG9ncy9hY2Nlc3NfbG9nPGJyIC8+CiAgICAmbHQ7L1ZpcnR1YWxIb3N0Jmd0OwoJCTwvZXhhbXBsZT4KCiAgICA8cD7Io726xq647SC6uLTZtMIgSVAgwda80rimILvnv+vHz7HmILnZtvW02S4KICAgICg8YSBocmVmPSIuLi9kbnMtY2F2ZWF0cy5odG1sIj5ETlMgua7BpjwvYT4gwvyw7Sk8L3A+CgogICAgPHA+VmlydHVhbEhvc3Qgwfa9w77uIL7Iv6G8rbTCIMfBt868vL26ILv9vLqw+iCx4sW4ILjuuO4gwfa9w77uuKYKICAgIMGmv9zHz7DtILDFwMcgPHN0cm9uZz648LXnPC9zdHJvbmc+ILyzwaTB9r3Dvu64piC757/rx9IKICAgILz2IMDWtNkuIFZpcnR1YWxIb3N0IMH2vcO+7iC+yL+hvK0gwfa9w77uuKYgu+e/68fSILz2IMDWtMLB9gogICAgvsu3wbjpIDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPsH2vcO+7iC48bfPPC9hPr+hvK0KICAgIDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPrvnv+vA5bzSPC9hPrimCiAgICDIrsDOx8+28y48L3A+CgogICAgPHA+PGEgaHJlZj0iLi4vc3VleGVjLmh0bWwiPnN1RVhFQyDHwbfOsde3pTwvYT7AuwogICAgu+e/68fRtNm46SBWaXJ0dWFsSG9zdCDB9r3Dvu4gvsi/oSA8ZGlyZWN0aXZlCiAgICBtb2R1bGU9Im1wbV9jb21tb24iPlVzZXI8L2RpcmVjdGl2ZT6/zSA8ZGlyZWN0aXZlCiAgICBtb2R1bGU9Im1wbV9jb21tb24iPkdyb3VwPC9kaXJlY3RpdmU+wLsgu+e/68fSILz2IMDWtNkuPC9wPgoKICAgIDxwPjxlbT66uL7IOjwvZW0+ILytufa4piC9x8fgx8+0wiC757/rwNq/3L+hILTZuKUgu+e297+hsNQKICAgILfOsdfGxMDPwMwgwNa0wiC18Le6xeS4rsDHIL6yseKxx8fRwMwgwNa02bjpILq4vsgKICAgILmuwaa4piDBtr3Jx8+28y4gwNq8vMfRILO7v+vAuiA8YQogICAgaHJlZj0iLi4vbWlzYy9zZWN1cml0eV90aXBzLmh0bWwiPrq4vsggxsE8L2E+wLsgwvyw7cfPtvMuPC9wPgoKPC9zZWN0aW9uPgo8L21hbnVhbHBhZ2U+Cg==