BAhJIgKwEzxwPlRoZSBBcGFjaGUgV2lja2V0IFBNQyBpcyBwcm91ZCB0byBhbm5vdW5jZSBBcGFjaGUgV2lja2V0IDYuMTYuMCE8L3A+Cgo8cD5UaGlzIHJlbGVhc2UgbWFya3MgdGhlIHNpeHRlZW50aCBtaW5vciByZWxlYXNlIG9mIFdpY2tldCA2LiBTdGFydGluZwp3aXRoIFdpY2tldCA2IHdlIHVzZSBzZW1hbnRpYyB2ZXJzaW9uaW5nIGZvciB0aGUgZnV0dXJlIGRldmVsb3BtZW50IG9mCldpY2tldCwgYW5kIGFzIHN1Y2ggbm8gQVBJIGJyZWFrcyBhcmUgcHJlc2VudCBpbiB0aGlzIHJlbGVhc2UgY29tcGFyZWQKdG8gNi4wLjAuPC9wPgoKPGgzIGlkPSJuZXctYW5kLW5vdGV3b3J0aHkiPk5ldyBhbmQgbm90ZXdvcnRoeTwvaDM+Cgo8cD5UaGlzIHJlbGVhc2UgZml4ZXMgMTUgYnVncyBhbmQgYWRkcyB0aGUgZm9sbG93aW5nIGltcHJvdmVtZW50czo8L3A+Cgo8dWw+CiAgPGxpPlVwZ3JhZGUgSlF1ZXJ5IHRvIGxhdGVzdCByZWxlYXNlcyAtIDEuMTEuMSAmYW1wOyAyLjEuMTwvbGk+CiAgPGxpPlVwZ3JhZGUgQXRtb3NwaGVyZSB0byBsYXRlc3QgdmVyc2lvbjwvbGk+CiAgPGxpPkdlbmVyYXRpb24gb2Ygd2lja2V0IGlkcyB3aXRoIHByZWZpeCAvIHN1ZmZpeDwvbGk+CiAgPGxpPkludHJvZHVjZSBDaGFyU2VxdWVuY2VSZXNvdXJjZSBzaW1pbGFyIHRvIEJ5dGVBcnJheVJlc291cmNlPC9saT4KPC91bD4KCjxwPlRoZSBmdWxsIGxpc3Qgb2YgaW1wcm92ZW1lbnRzIGFuZCBmaXhlcyBjYW4gYmUgZm91bmQgYXQgdGhlIGVuZCBvZiB0aGlzCmFubm91bmNlbWVudC48L3A+Cgo8aDMgaWQ9InVzaW5nLXRoaXMtcmVsZWFzZSI+VXNpbmcgdGhpcyByZWxlYXNlPC9oMz4KCjxwPldpdGggQXBhY2hlIE1hdmVuIHVwZGF0ZSB5b3VyIGRlcGVuZGVuY3kgdG8gKGFuZCBkb27igJl0IGZvcmdldCB0bwp1cGRhdGUgYW55IG90aGVyIGRlcGVuZGVuY2llcyBvbiBXaWNrZXQgcHJvamVjdHMgdG8gdGhlIHNhbWUgdmVyc2lvbik6PC9wPgoKPGZpZ3VyZSBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS14bWwiIGRhdGEtbGFuZz0ieG1sIj48c3BhbiBjbGFzcz0ibnQiPiZsdDtkZXBlbmRlbmN5Jmd0Ozwvc3Bhbj4KIDxzcGFuIGNsYXNzPSJudCI+Jmx0O2dyb3VwSWQmZ3Q7PC9zcGFuPm9yZy5hcGFjaGUud2lja2V0PHNwYW4gY2xhc3M9Im50Ij4mbHQ7L2dyb3VwSWQmZ3Q7PC9zcGFuPgogPHNwYW4gY2xhc3M9Im50Ij4mbHQ7YXJ0aWZhY3RJZCZndDs8L3NwYW4+d2lja2V0LWNvcmU8c3BhbiBjbGFzcz0ibnQiPiZsdDsvYXJ0aWZhY3RJZCZndDs8L3NwYW4+CiA8c3BhbiBjbGFzcz0ibnQiPiZsdDt2ZXJzaW9uJmd0Ozwvc3Bhbj42LjE2LjA8c3BhbiBjbGFzcz0ibnQiPiZsdDsvdmVyc2lvbiZndDs8L3NwYW4+CjxzcGFuIGNsYXNzPSJudCI+Jmx0Oy9kZXBlbmRlbmN5Jmd0Ozwvc3Bhbj48L2NvZGU+PC9wcmU+PC9maWd1cmU+Cgo8cD5PciBkb3dubG9hZCBhbmQgYnVpbGQgdGhlIGRpc3RyaWJ1dGlvbiB5b3Vyc2VsZiwgb3IgdXNlIG91cgpjb252ZW5pZW5jZSBiaW5hcnkgcGFja2FnZTwvcD4KCjx1bD4KICA8bGk+U291cmNlOiA8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvZHluL2Nsb3Nlci5jZ2kvd2lja2V0LzYuMTYuMCI+Ni4xNi4wIHNvdXJjZSBkb3dubG9hZDwvYT48L2xpPgogIDxsaT5CaW5hcnk6IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9keW4vY2xvc2VyLmNnaS93aWNrZXQvNi4xNi4wL2JpbmFyaWVzIj42LjE2LjAgYmluYXJ5IGRvd25sb2FkPC9hPjwvbGk+CjwvdWw+Cgo8aDMgaWQ9InVwZ3JhZGluZy1mcm9tLWVhcmxpZXItdmVyc2lvbnMiPlVwZ3JhZGluZyBmcm9tIGVhcmxpZXIgdmVyc2lvbnM8L2gzPgoKPHA+SWYgeW91IHVwZ3JhZGUgZnJvbSA2LnkueiB0aGlzIHJlbGVhc2UgaXMgYSBkcm9wIGluIHJlcGxhY2VtZW50LiBJZgp5b3UgY29tZSBmcm9tIGEgdmVyc2lvbiBwcmlvciB0byA2LjAuMCwgcGxlYXNlIHJlYWQgb3VyIFdpY2tldCA2Cm1pZ3JhdGlvbiBndWlkZSBmb3VuZCBhdDwvcD4KCjx1bD4KICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9jd2lraS5hcGFjaGUub3JnL2NvbmZsdWVuY2UvZGlzcGxheS9XSUNLRVQvTWlncmF0aW9uK3RvK1dpY2tldCs2LjAiPk1pZ3JhdGlvbiB0byBXaWNrZXQgNi4wPC9hPjwvbGk+CjwvdWw+Cgo8cD5IYXZlIGZ1biE8L3A+Cgo8cD7igJQgVGhlIFdpY2tldCB0ZWFtPC9wPgoKPGgzIGlkPSJyZWxlYXNlLW5vdGVzLS0td2lja2V0LS0tdmVyc2lvbi02MTYwIj5SZWxlYXNlIE5vdGVzIC0gV2lja2V0IC0gVmVyc2lvbiA2LjE2LjA8L2gzPgoKPGg0IGlkPSJidWciPkJ1ZzwvaDQ+CjxkaXYgY2xhc3M9Imxhbmd1YWdlLXBsYWludGV4dCBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPiogW1dJQ0tFVC00NTQ1XSAtIE1hcmt1cE5vdEZvdW5kRXhjZXB0aW9uIGZvciBGcmFnbWVudCBhbmQgVHJhbnNwYXJlbnRXZWJNYXJrdXBDb250YWluZXIKKiBbV0lDS0VULTU1NTNdIC0gV2hlbiB1c2luZyBhbiBBamF4IHJlcXVlc3QgdG8gZGlzcGxheSBpbml0aWFsbHkgaGlkZGVuIGNvbXBvbmVudHMgaW5zaWRlIGlubGluZSBlbmNsb3N1cmVzLCBvbmx5IHRoZSBmaXJzdCBvbmUgYXBwZWFycy4KKiBbV0lDS0VULTU1NjBdIC0gQSA0MDQgZXJyb3Igb2NjdXJzIHdoZW4gdXNpbmcgYSBDcnlwdG9NYXBwZXIKKiBbV0lDS0VULTU1NjldIC0gVW5hYmxlIHRvIGZpbmQgbWFya3VwIGZvciBjaGlsZHJlbiBvZiBkZWVwbHkgbmVzdGVkIElDb21wb25lbnRSZXNvbHZlcnMgZHVyaW5nIEFqYXggcmVzcG9uc2UKKiBbV0lDS0VULTU1NzBdIC0gUmVzY2hlZHVsaW5nIHRoZSBzYW1lIGFqYXggdGltZXIgYmVoYXZpb3IgY2F1c2VzIG1lbW9yeSBsZWFrIGluIHRoZSBicm93c2VyCiogW1dJQ0tFVC01NTczXSAtIEZpbHRlclRvb2xiYXIgZ2VuZXJpY3MgYnJva2VuCiogW1dJQ0tFVC01NTgxXSAtIENhY2hpbmdSZXPigItvdXJjZVN0cmVh4oCLbUxvY2F0b3IgaXMgbm90IGV4dGVuc2lvbi3igIthd2FyZQoqIFtXSUNLRVQtNTU4Ml0gLSBTZXJ2bGV0V2ViUmVzcG9uc2UjZW5jb2RlVXJsKCkgbWFrZXMgYWJzb2x1dGUgVXJscyByZWxhdGl2ZQoqIFtXSUNLRVQtNTU4OV0gLSBVcGdyYWRlIHdpY2tldC1hdG1vc3BoZXJlIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBhdG1vc3BoZXJlCiogW1dJQ0tFVC01NTkxXSAtIE1pc3NpbmcgdHJhbnNsYXRpb24gZm9yIEhvdXJzVmFsaWRhdG9yLnJhbmdlIChpbiBEYXRlVGltZUZpZWxkKQoqIFtXSUNLRVQtNTU5Ml0gLSBBZGQgYSBtZXRob2QgdG8gY2xlYXIgdGhlIGNhY2hlIG9mIENhY2hpbmdSZXNvdXJjZVN0cmVhbUxvY2F0b3IKKiBbV0lDS0VULTU1OTNdIC0gQWpheEZvcm1WYWxpZGF0aW5nQmVoYXZpb3IgYXR0ZW1wdHMgdG8gdXBkYXRlIG5vbi12aXNpYmxlIGZlZWRiYWNrIHBhbmVscwoqIFtXSUNLRVQtNTU5NV0gLSBBdG1vc3BoZXJlOiB1cGRhdGVzIGluZmluaXRseSB3aXRoIGxvbmcgcG9sbGluZyB0cmFuc3BvcnQKKiBbV0lDS0VULTU1OTZdIC0gRHJvcERvd25DaG9pY2Ujd2FudHNPblNlbGVjdGlvbkNoYW5nZWROb3RpZmljYXRpb25zKFQpIG5vdCBiZWluZyBjYWxsZWQgb24gdW5tb3VudGVkIHBhZ2UKKiBbV0lDS0VULTU2MDFdIC0gQWJzdHJhY3RTaW5nbGVTZWxlY3RDaG9pY2UgZmFpbHMgd2l0aCBOdWxsUG9pbnRlckV4Y2VwdGlvbiB3aGVuIGl0cyBjaG9pY2UgcmVuZGVyZXIgcmV0dXJucyBudWxsIGZyb20gI2dldElkVmFsdWUoKSAKPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPGg0IGlkPSJpbXByb3ZlbWVudCI+SW1wcm92ZW1lbnQ8L2g0Pgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT4qIFtXSUNLRVQtNTU2M10gLSBSZXN0YXJ0UmVzcG9uc2VBdEludGVyY2VwdFBhZ2VFeGNlcHRpb24gLSBhZGQgcHVibGljIGZ1bmN0aW9uIHRvIHJldHJpZXZlIG9yaWdpbmFsVXJsCiogW1dJQ0tFVC01NTc0XSAtIENvbXBvbmVudFJlbmRlcmVyIHNob3VsZCB1c2UgQXBwbGljYXRpb24jY3JlYXRlUmVxdWVzdEN5Y2xlCiogW1dJQ0tFVC01NTc1XSAtIEFkZCBzdXBwb3J0IGluIEZvcm1UZXN0ZXIjc3VibWl0KFN0cmluZ3xDb21wb25lbnQpIGZvciBBamF4IHN1Ym1pdHRlcnMKKiBbV0lDS0VULTU1NzddIC0gR2VuZXJhdGlvbiBvZiB3aWNrZXQgaWRzIHdpdGggcHJlZml4IC8gc3VmZml4CiogW1dJQ0tFVC01NTgwXSAtIEFsbG93IG1hcmt1cCB0byBmaW5kIGNoaWxkIGZyYWdtZW50cyB3aGVuIHdpY2tldDpjaGlsZCBpcyBpbnNpZGUgYSBjb21wb25lbnQgdGFnCiogW1dJQ0tFVC01NTg1XSAtIFdpY2tldCBFeHRlbnNpb24gQXV0b21wbGV0ZSBkb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBKYXZhU2NyaXB0RmlsdGVyZWRJbnRvRm9vdGVySGVhZGVyUmVzcG9uc2UKKiBbV0lDS0VULTU1ODZdIC0gTmV4dEJ1dHRvbiBpc0VuYWJsZWQoKSBzaG91bGQgYm8gbG9naWNhbCBjb25qdW5jdGlvbiBvZiBnZXRXaXphcmRNb2RlbCgpLmlzTmV4dEF2YWlsYWJsZSgpIGFuZCBzdXBlci5pc0VuYWJsZWQoKQoqIFtXSUNLRVQtNTYwMF0gLSBJbnRyb2R1Y2UgQ2hhclNlcXVlbmNlUmVzb3VyY2Ugc2ltaWxhciB0byBCeXRlQXJyYXlSZXNvdXJjZQoqIFtXSUNLRVQtNTYwNl0gLSBTZWxlY3RPcHRpb25zIHdpdGggI3NldFJlY3JlYXRlQ2hvaWNlcyh0cnVlKSBsb3NlcyBzZWxlY3Rpb24gb24gZm9ybSBlcnJvcnMKPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPGg0IGlkPSJ0YXNrIj5UYXNrPC9oND4KPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+KiBbV0lDS0VULTU1ODddIC0gVXBncmFkZSBKUXVlcnkgdG8gbGF0ZXN0IHJlbGVhc2VzIC0gMS4xMS4xICZhbXA7IDIuMS4xCjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCgY6BkVU