ABOUT US
Our small town atmosphere has captivated families, business people, artists, retirees, and a variety of others who have made this community their home. As a central location, the Village of Cambridge offers convenient access to big cities and towns, as well as some of New York's most picturesque scenery.
REACH US
clerk@cambridgeny.gov
PHONE
(518) 677-2622
LOCATION
56 N Park St, Cambridge, New York, 12816
FIND US
© 2023 Village of Cambridge New York All Rights Reserved. 56 N Park St, Cambridge, NY 12816 . Contact Us . Terms of Service . Privacy Policy
{"company":"Village of Cambridge New York","address":"56 N Park St","city":"Cambridge","state":"NY","zip":"12816","email":"clerk@cambridgeny.gov","tos":"PHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPklNUE9SVEFOVCEgVEhFU0UgVEVSTVMgT0YgU0VSVklDRSAoVE9TKSBHT1ZFUk4gWU9VUiBVU0UgT0YgVEhJUyBTSVRFLCBXSElDSCBJUyBQUk9WSURFRCBCWSBWSUxMQUdFIE9GIENBTUJSSURHRSBOWS4gQlkgQUNDRVNTSU5HIFRISVMgU0lURSwgWU9VIEFSRSBJTkRJQ0FUSU5HIFlPVVIgQUNLTk9XTEVER01FTlQgQU5EIEFDQ0VQVEFOQ0UgT0YgVEhFU0UgVEVSTVMgT0YgVVNFLiBUSEVTRSBURVJNUyBPRiBVU0UgQVJFIFNVQkpFQ1QgVE8gQ0hBTkdFIEJZIFZJTExBR0UgT0YgQ0FNQlJJREdFIE5ZIEFUIEFOWSBUSU1FIElOIElUUyBESVNDUkVUSU9OLiBZT1VSIFVTRSBPRiBUSElTIFNJVEUgQUZURVIgU1VDSCBDSEFOR0VTIEFSRSBJTVBMRU1FTlRFRCBDT05TVElUVVRFUyBZT1VSIEFDS05PV0xFREdNRU5UIEFORCBBQ0NFUFRBTkNFIE9GIFRIRSBDSEFOR0VTLiBQTEVBU0UgQ09OU1VMVCBUSEVTRSBURVJNUyBPRiBVU0UgUFJJT1IgVE8gRVZFUlkgVVNFIEZPUiBBTlkgQ0hBTkdFUy48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+QWNjZXNzIFRvIFRoaXMgU2l0ZTwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5ZT1UgTVVTVCBCRSBFSUdIVEVFTiAoMTgpIFlFQVJTIE9SIE9MREVSIFRPIEFDQ0VTUyBUSElTIFdFQiBTSVRFLiBJRiBZT1UgQVJFIFVOREVSIEVJR0hURUVOIFlFQVJTIE9GIEFHRSwgWU9VIEFSRSBOT1QgUEVSTUlUVEVEIFRPIEFDQ0VTUyBUSElTIFdFQiBTSVRFIEZPUiBBTlkgUkVBU09OLiBEVUUgVE8gVEhFIEFHRSBSRVNUUklDVElPTlMgRk9SIFVTRSBPRiBUSElTIFdFQiBTSVRFLCBOTyBJTkZPUk1BVElPTiBPQlRBSU5FRCBCWSBUSElTIFdFQiBTSVRFLCBGQUxMUyBXSVRISU4gVEhFIENISUxEUkVOJiMzOTtTIE9OTElORSBQUklWQUNZIFBST1RFQ1RJT04gQUNUIChDT1BQQSkgQU5EIElTIE5PVCBNT05JVE9SRUQgQVMgRE9JTkcgU08uPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPlRvIGFjY2VzcyB0aGlzIHNpdGUgb3Igc29tZSBvZiB0aGUgcmVzb3VyY2VzIGl0IGhhcyB0byBvZmZlciwgeW91IG1heSBiZSBhc2tlZCB0byBwcm92aWRlIGNlcnRhaW4gcmVnaXN0cmF0aW9uIGRldGFpbHMgb3Igb3RoZXIgaW5mb3JtYXRpb24uIEl0IGlzIGEgY29uZGl0aW9uIG9mIHlvdXIgdXNlIG9mIHRoaXMgc2l0ZSB0aGF0IGFsbCB0aGUgaW5mb3JtYXRpb24geW91IHByb3ZpZGUgb24gdGhpcyBzaXRlIHdpbGwgYmUgY29ycmVjdCwgY3VycmVudCwgYW5kIGNvbXBsZXRlLiBJZiB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIGJlbGlldmVzIHRoZSBpbmZvcm1hdGlvbiB5b3UgcHJvdmlkZSBpcyBub3QgY29ycmVjdCwgY3VycmVudCwgb3IgY29tcGxldGUsIHdlIGhhdmUgdGhlIHJpZ2h0IHRvIHJlZnVzZSB5b3UgYWNjZXNzIHRvIHRoaXMgc2l0ZSBvciBhbnkgb2YgaXRzIHJlc291cmNlcywgYW5kIHRvIHRlcm1pbmF0ZSBvciBzdXNwZW5kIHlvdXIgYWNjZXNzIGF0IGFueSB0aW1lLCB3aXRob3V0IG5vdGljZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+UmVzdHJpY3Rpb25zIE9uIFVzZTwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5Zb3UgbWF5IHVzZSB0aGlzIHNpdGUgZm9yIHB1cnBvc2VzIGV4cHJlc3NseSBwZXJtaXR0ZWQgYnkgdGhpcyBzaXRlLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzaXRlIGZvciBhbnkgb3RoZXIgcHVycG9zZSwgaW5jbHVkaW5nIGFueSBjb21tZXJjaWFsIHB1cnBvc2UsIHdpdGhvdXQgdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSYjMzk7cyBleHByZXNzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gRm9yIGV4YW1wbGUsIHlvdSBtYXkgbm90IChhbmQgbWF5IG5vdCBhdXRob3JpemUgYW55IG90aGVyIHBhcnR5IHRvKSAoaSkgY28tYnJhbmQgdGhpcyBzaXRlLCBvciAoaWkpIGZyYW1lIHRoaXMgc2l0ZSwgb3IgKGlpaSkgaHlwZXItbGluayB0byB0aGlzIHNpdGUsIHdpdGhvdXQgdGhlIGV4cHJlc3MgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIG9mIGFuIGF1dGhvcml6ZWQgcmVwcmVzZW50YXRpdmUgb2YgdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWS4gRm9yIHB1cnBvc2VzIG9mIHRoZXNlIFRlcm1zIG9mIFVzZSw8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+JnF1b3Q7Y28tYnJhbmRpbmcmcXVvdDsgbWVhbnMgdG8gZGlzcGxheSBhIG5hbWUsIGxvZ28sIHRyYWRlbWFyaywgb3Igb3RoZXIgbWVhbnMgb2YgYXR0cmlidXRpb24gb3IgaWRlbnRpZmljYXRpb24gb2YgYW55IHBhcnR5IGluIHN1Y2ggYSBtYW5uZXIgYXMgaXMgcmVhc29uYWJseSBsaWtlbHkgdG8gZ2l2ZSBhIHVzZXIgdGhlIGltcHJlc3Npb24gdGhhdCBzdWNoIG90aGVyIHBhcnR5IGhhcyB0aGUgcmlnaHQgdG8gZGlzcGxheSwgcHVibGlzaCwgb3IgZGlzdHJpYnV0ZSB0aGlzIHNpdGUgb3IgY29udGVudCBhY2Nlc3NpYmxlIHdpdGhpbiB0aGlzIHNpdGUuIFlvdSBhZ3JlZSB0byBjb29wZXJhdGUgd2l0aCB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIGluIGNhdXNpbmcgYW55IHVuYXV0aG9yaXplZCBjby1icmFuZGluZywgZnJhbWluZyBvciBoeXBlci1saW5raW5nIGltbWVkaWF0ZWx5IHRvIGNlYXNlLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5Qcm9wcmlldGFyeSBJbmZvcm1hdGlvbjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5UaGUgbWF0ZXJpYWwgYW5kIGNvbnRlbnQgKGhlcmVpbmFmdGVyIHJlZmVycmVkIHRvIGFzIHRoZSAmcXVvdDtDb250ZW50JnF1b3Q7KSBhY2Nlc3NpYmxlIGZyb20gdGhpcyBzaXRlLCBhbmQgYW55IG90aGVyIFdvcmxkIFdpZGUgV2ViIHNpdGUgb3duZWQsIG9wZXJhdGVkLCBsaWNlbnNlZCwgb3IgY29udHJvbGxlZCBieSB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIGlzIHRoZSBwcm9wcmlldGFyeSBpbmZvcm1hdGlvbiBvZiB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIG9yIHRoZSBwYXJ0eSB0aGF0IHByb3ZpZGVkIHRoZSBDb250ZW50IHRvIHRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlksIGFuZCB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIG9yIHRoZSBwYXJ0eSB0aGF0IHByb3ZpZGVkIHRoZSBDb250ZW50IHRvIHRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgcmV0YWlucyBhbGwgcmlnaHQsIHRpdGxlLCBhbmQgaW50ZXJlc3QgaW4gdGhlIENvbnRlbnQuIEFjY29yZGluZ2x5LCB0aGUgQ29udGVudCBtYXkgbm90IGJlIGNvcGllZCwgZGlzdHJpYnV0ZWQsIHJlcHVibGlzaGVkLCB1cGxvYWRlZCwgcG9zdGVkLCBvciB0cmFuc21pdHRlZCBpbiBhbnkgd2F5IHdpdGhvdXQgdGhlIHByaW9yIHdyaXR0ZW4gY29uc2VudCBvZiB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZLCBvciB1bmxlc3MgYXV0aG9yaXplZCBpbiB3cml0aW5nIGVsc2V3aGVyZSBvbiBvdXIgc2l0ZSwgZXhjZXB0IHRoYXQgeW91IG1heSBwcmludCBvdXQgYSBjb3B5IG9mIHRoZSBDb250ZW50IHNvbGVseSBmb3IgeW91ciBwZXJzb25hbCB1c2UuIEluIGRvaW5nIHNvLCB5b3UgbWF5IG5vdCByZW1vdmUgb3IgYWx0ZXIsIG9yIGNhdXNlIHRvIGJlIHJlbW92ZWQgb3IgYWx0ZXJlZCwgYW55IGNvcHlyaWdodCwgdHJhZGVtYXJrLCB0cmFkZSBuYW1lLCBzZXJ2aWNlIG1hcmssIG9yIGFueSBvdGhlciBwcm9wcmlldGFyeSBub3RpY2Ugb3IgbGVnZW5kIGFwcGVhcmluZyBvbiBhbnkgb2YgdGhlIENvbnRlbnQuIE1vZGlmaWNhdGlvbiBvciB1c2Ugb2YgdGhlIENvbnRlbnQgZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCBpbiB0aGVzZSBUZXJtcyBvZiBVc2UgdmlvbGF0ZXMgdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSYjMzk7cyBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzLiBOZWl0aGVyIHRpdGxlIG5vciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIGFyZSB0cmFuc2ZlcnJlZCB0byB5b3UgYnkgYWNjZXNzIHRvIHRoaXMgc2l0ZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+SHlwZXItTGlua3M8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+VGhpcyBzaXRlIG1heSBiZSBoeXBlci1saW5rZWQgdG8gb3RoZXIgc2l0ZXMgd2hpY2ggYXJlIG5vdCBtYWludGFpbmVkIGJ5LCBvciByZWxhdGVkIHRvLCB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZLiBIeXBlci1saW5rcyB0byBzdWNoIHNpdGVzIGFyZSBwcm92aWRlZCBhcyBhIHNlcnZpY2UgdG8gdXNlcnMgYW5kIGFyZSBub3Qgc3BvbnNvcmVkIGJ5IG9yIGFmZmlsaWF0ZWQgd2l0aCB0aGlzIHNpdGUgb3IgdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWS4gVGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBoYXMgbm90IHJldmlld2VkIGFueSBvciBhbGwgb2Ygc3VjaCBzaXRlcyBhbmQgaXMgbm90IHJlc3BvbnNpYmxlIGZvciB0aGUgY29udGVudCBvZiB0aG9zZSBzaXRlcy4gSHlwZXItbGlua3MgYXJlIHRvIGJlIGFjY2Vzc2VkIGF0IHRoZSB1c2VyJiMzOTtzIG93biByaXNrLCBhbmQgdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBtYWtlcyBubyByZXByZXNlbnRhdGlvbnMgb3Igd2FycmFudGllcyBhYm91dCB0aGUgY29udGVudCwgY29tcGxldGVuZXNzIG9yIGFjY3VyYWN5IG9mIHRoZXNlIGh5cGVyLWxpbmtzIG9yIHRoZSBzaXRlcyBoeXBlci1saW5rZWQgdG8gdGhpcyBzaXRlLiBGdXJ0aGVyLCB0aGUgaW5jbHVzaW9uIG9mIGFueSBoeXBlci1saW5rIHRvIGEgdGhpcmQtcGFydHkgc2l0ZSBkb2VzIG5vdCBuZWNlc3NhcmlseSBpbXBseSBlbmRvcnNlbWVudCBieSB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIG9mIHRoYXQgc2l0ZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+U3VibWlzc2lvbnM8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+WW91IGhlcmVieSBncmFudCB0byB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIHRoZSByb3lhbHR5LWZyZWUsIHBlcnBldHVhbCwgaXJyZXZvY2FibGUsIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSByaWdodCBhbmQgbGljZW5zZSB0byB1c2UsIHJlcHJvZHVjZSwgbW9kaWZ5LCBhZGFwdCwgcHVibGlzaCwgdHJhbnNsYXRlLCBjcmVhdGUgZGVyaXZhdGl2ZSB3b3JrcyBmcm9tLCBkaXN0cmlidXRlLCBwZXJmb3JtLCBhbmQgZGlzcGxheSBhbGwgY29udGVudCwgcmVtYXJrcywgc3VnZ2VzdGlvbnMsIGlkZWFzLCBncmFwaGljcywgb3Igb3RoZXIgaW5mb3JtYXRpb24gY29tbXVuaWNhdGVkIHRvIHRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgdGhyb3VnaCB0aGlzIHNpdGUgKHRvZ2V0aGVyLCBoZXJlaW5hZnRlciBrbm93biBhcyB0aGUgJnF1b3Q7U3VibWlzc2lvbiZxdW90OyksIGFuZCB0byBpbmNvcnBvcmF0ZSBhbnkgU3VibWlzc2lvbiBpbiBvdGhlciB3b3JrcyBpbiBhbnkgZm9ybSwgbWVkaWEsIG9yIHRlY2hub2xvZ3kgbm93IGtub3duIG9yIGxhdGVyIGRldmVsb3BlZC4gVGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSB3aWxsIG5vdCBiZSByZXF1aXJlZCB0byB0cmVhdCBhbnkgU3VibWlzc2lvbiBhcyBjb25maWRlbnRpYWwsIGFuZCBtYXkgdXNlIGFueSBTdWJtaXNzaW9uIGluIGl0cyBidXNpbmVzcyAoaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiwgZm9yIHByb2R1Y3RzIG9yIGFkdmVydGlzaW5nKSB3aXRob3V0IGluY3VycmluZyBhbnkgbGlhYmlsaXR5IGZvciByb3lhbHRpZXMgb3IgYW55IG90aGVyIGNvbnNpZGVyYXRpb24gb2YgYW55IGtpbmQsIGFuZCB3aWxsIG5vdCBpbmN1ciBhbnkgbGlhYmlsaXR5IGFzIGEgcmVzdWx0IG9mIGFueSBzaW1pbGFyaXRpZXMgdGhhdCBtYXkgYXBwZWFyIGluIGZ1dHVyZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgb3BlcmF0aW9ucy48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+VGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSB3aWxsIHRyZWF0IGFueSBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aGF0IHlvdSBzdWJtaXQgdGhyb3VnaCB0aGlzIHNpdGUgaW4gYWNjb3JkYW5jZSB3aXRoIGl0cyBQcml2YWN5IFBvbGljeSBhcyBzZXQgZm9ydGggb24gdGhpcyBzaXRlLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5EaXNjbGFpbWVyPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPllvdSB1bmRlcnN0YW5kIHRoYXQgdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBjYW5ub3QgYW5kIGRvZXMgbm90IGd1YXJhbnRlZSBvciB3YXJyYW50IHRoYXQgZmlsZXMgYXZhaWxhYmxlIGZvciBkb3dubG9hZGluZyBmcm9tIHRoZSBJbnRlcm5ldCB3aWxsIGJlIGZyZWUgb2YgdmlydXNlcywgd29ybXMsIFRyb2phbiBob3JzZXMgb3Igb3RoZXIgY29kZSB0aGF0IG1heSBtYW5pZmVzdCBjb250YW1pbmF0aW5nIG9yIGRlc3RydWN0aXZlIHByb3BlcnRpZXMuIFlvdSBhcmUgcmVzcG9uc2libGUgZm9yIGltcGxlbWVudGluZyBzdWZmaWNpZW50IHByb2NlZHVyZXMgYW5kIGNoZWNrcG9pbnRzIHRvIHNhdGlzZnkgeW91ciBwYXJ0aWN1bGFyIHJlcXVpcmVtZW50cyBmb3IgYWNjdXJhY3kgb2YgZGF0YSBpbnB1dCBhbmQgb3V0cHV0LCBhbmQgZm9yIG1haW50YWluaW5nIGEgbWVhbnMgZXh0ZXJuYWwgdG8gdGhpcyBzaXRlIGZvciB0aGUgcmVjb25zdHJ1Y3Rpb24gb2YgYW55IGxvc3QgZGF0YS4gVGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBkb2VzIG5vdCBhc3N1bWUgYW55IHJlc3BvbnNpYmlsaXR5IG9yIHJpc2sgZm9yIHlvdXIgdXNlIG9mIHRoZSBJbnRlcm5ldC48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+VGhlIENvbnRlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGNvbXBsZXRlIGFuZCB1cC10by1kYXRlIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgdG8gcmVwbGFjZSBhbnkgd3JpdHRlbiByZXBvcnRzLCBzdGF0ZW1lbnRzLCBvciBub3RpY2VzIHByb3ZpZGVkIGJ5IFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWS4gSW52ZXN0b3JzLCBib3Jyb3dlcnMsIGFuZCBvdGhlciBwZXJzb25zIHNob3VsZCB1c2UgdGhlIENvbnRlbnQgaW4gdGhlIHNhbWUgbWFubmVyIGFzIGFueSBvdGhlciBlZHVjYXRpb25hbCBtZWRpdW0gYW5kIHNob3VsZCBub3QgcmVseSBvbiB0aGUgQ29udGVudCB0bzwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj50aGUgZXhjbHVzaW9uIG9mIHRoZWlyIG93biBwcm9mZXNzaW9uYWwganVkZ21lbnQuIEluZm9ybWF0aW9uIG9idGFpbmVkIGJ5IHVzaW5nIHRoaXMgc2l0ZSBpcyBub3QgZXhoYXVzdGl2ZSBhbmQgZG9lcyBub3QgY292ZXIgYWxsIGlzc3VlcywgdG9waWNzLCBvciBmYWN0cyB0aGF0IG1heSBiZSByZWxldmFudCB0byB5b3VyIGdvYWxzLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5ZT1VSIFVTRSBPRiBUSElTIFNJVEUgSVMgQVQgWU9VUiBPV04gUklTSy4gVGhlIENvbnRlbnQgaXMgcHJvdmlkZWQgJmxkcXVvO2FzIGlzJnJkcXVvOyBhbmQgd2l0aG91dCB3YXJyYW50aWVzIG9mIGFueSBraW5kLCBlaXRoZXIgZXhwcmVzc2VkIG9yIGltcGxpZWQuIFRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgZGlzY2xhaW1zIGFsbCB3YXJyYW50aWVzLCBpbmNsdWRpbmcgYW55IGltcGxpZWQgd2FycmFudGllcyBvZiBtZXJjaGFudGFiaWxpdHksIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlLCBUSVRMRSwgT1IgTk9OLUlORlJJTkdFTUVOVC4gVGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBkb2VzIG5vdCB3YXJyYW50IHRoYXQgdGhlIGZ1bmN0aW9ucyBPUiBDT05URU5UIGNvbnRhaW5lZCBpbiB0aGlzIHNpdGUgd2lsbCBiZSB1bmludGVycnVwdGVkIG9yIGVycm9yLWZyZWUsIHRoYXQgZGVmZWN0cyB3aWxsIGJlIGNvcnJlY3RlZCwgb3IgdGhhdCB0aGlzIHNpdGUgb3IgdGhlIHNlcnZlciB0aGF0IG1ha2VzIGl0IGF2YWlsYWJsZSBhcmUgZnJlZSBvZiB2aXJ1c2VzIG9yIG90aGVyIGhhcm1mdWwgY29tcG9uZW50cy4gVGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBkb2VzIG5vdCB3YXJyYW50IG9yIG1ha2UgYW55IHJlcHJlc2VudGF0aW9uIHJlZ2FyZGluZyB1c2UsIG9yIHRoZSByZXN1bHQgb2YgdXNlLCBvZiB0aGUgY29udGVudCBpbiB0ZXJtcyBvZiBhY2N1cmFjeSwgcmVsaWFiaWxpdHksIG9yIG90aGVyd2lzZS4gVGhlIGNvbnRlbnQgbWF5IGluY2x1ZGUgdGVjaG5pY2FsIGluYWNjdXJhY2llcyBvciB0eXBvZ3JhcGhpY2FsIGVycm9ycywgYW5kIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBtYXkgbWFrZSBjaGFuZ2VzIG9yIGltcHJvdmVtZW50cyBhdCBhbnkgdGltZS4gWW91LCBhbmQgbm90IHRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlksIGFzc3VtZSB0aGUgZW50aXJlIGNvc3Qgb2YgYWxsIG5lY2Vzc2FyeSBzZXJ2aWNpbmcsIHJlcGFpciBvciBjb3JyZWN0aW9uIElOIFRIRSBFVkVOVCBPRiBBTlkgTE9TUyBPUiBEQU1BR0UgQVJJU0lORyBGUk9NIFRIRSBVU0UgT0YgVEhJUyBTSVRFIE9SIElUUyBDT05URU5ULiBUaGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIE1BS0VTIE5PIFdBUlJBTlRJRVMgVEhBVCBZT1VSIFVTRSBPRiBUSEUgQ09OVEVOVCBXSUxMIE5PVCBJTkZSSU5HRSBUSEUgUklHSFRTIE9GIE9USEVSUyBBTkQgQVNTVU1FUyBOTyBMSUFCSUxJVFkgT1IgUkVTUE9OU0lCSUxJVFkgRk9SIEVSUk9SUyBPUiBPTUlTU0lPTlMgSU4gU1VDSCBDT05URU5ULjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5BbGwgb2YgdGhlIGluZm9ybWF0aW9uIGluIHRoaXMgc2l0ZSwgd2hldGhlciBoaXN0b3JpY2FsIGluIG5hdHVyZSBvciBmb3J3YXJkLWxvb2tpbmcsIHNwZWFrcyBvbmx5IGFzIG9mIHRoZSBkYXRlIHRoZSBpbmZvcm1hdGlvbiBpcyBwb3N0ZWQgb24gdGhpcyBzaXRlLCBhbmQgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIGRvZXMgbm90IHVuZGVydGFrZSBhbnkgb2JsaWdhdGlvbiB0byB1cGRhdGUgc3VjaCBpbmZvcm1hdGlvbiBhZnRlciBpdCBpcyBwb3N0ZWQgb3IgdG8gcmVtb3ZlIHN1Y2ggaW5mb3JtYXRpb24gZnJvbSB0aGlzIHNpdGUgaWYgaXQgaXMgbm90LCBvciBpcyBubyBsb25nZXIsIGFjY3VyYXRlIG9yIGNvbXBsZXRlLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5MaW1pdGF0aW9uIE9uIExpYWJpbGl0eTwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5WSUxMQUdFIE9GIENBTUJSSURHRSwgTlksIElUUyBTVUJTSURJQVJJRVMsIEFGRklMSUFURVMsIExJQ0VOU09SUywgU0VSVklDRSBQUk9WSURFUlMsIENPTlRFTlQgUFJPVklERVJTLCBFTVBMT1lFRVMsIEFHRU5UUywgT0ZGSUNFUlMsIEFORCBESVJFQ1RPUlMgV0lMTCBOT1QgQkUgTElBQkxFIEZPUiBBTlkgSU5DSURFTlRBTCwgRElSRUNULCBJTkRJUkVDVCwgUFVOSVRJVkUsIEFDVFVBTCwgQ09OU0VRVUVOVElBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBPVEhFUiBEQU1BR0VTLCBJTkNMVURJTkcgTE9TUyBPRiBSRVZFTlVFIE9SIElOQ09NRSwgUEFJTiBBTkQgU1VGRkVSSU5HLCBFTU9USU9OQUwgRElTVFJFU1MsIE9SIFNJTUlMQVIgREFNQUdFUywgRVZFTiBJRiBWSUxMQUdFIE9GIENBTUJSSURHRSwgTlkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFk8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+T0YgU1VDSCBEQU1BR0VTLiBJTiBOTyBFVkVOVCBXSUxMIFRIRSBDT0xMRUNUSVZFIExJQUJJTElUWSBPRiBWSUxMQUdFIE9GIENBTUJSSURHRSwgTlkgQU5EIElUUyBTVUJTSURJQVJJRVMsIEFGRklMSUFURVMsIExJQ0VOU09SUywgU0VSVklDRSBQUk9WSURFUlMsIENPTlRFTlQgUFJPVklERVJTLCBFTVBMT1lFRVMsIEFHRU5UUywgT0ZGSUNFUlMsIEFORCBESVJFQ1RPUlMsIFRPIEFOWSBQQVJUWSAoUkVHQVJETEVTUyBPRiBUSEUgRk9STSBPRiBBQ1RJT04sIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFRPUlQsIE9SIE9USEVSV0lTRSkgRVhDRUVEIFRIRSBHUkVBVEVSIE9GICQxMDAgT1IgVEhFIEFNT1VOVCBZT1UgSEFWRSBQQUlEIFRPIFZJTExBR0UgT0YgQ0FNQlJJREdFLCBOWSBGT1IgVEhFIEFQUExJQ0FCTEUgQ09OVEVOVCwgUFJPRFVDVCBPUiBTRVJWSUNFIE9VVCBPRiBXSElDSCBMSUFCSUxJVFkgQVJPU0UuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPkluZGVtbml0eTwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5Zb3Ugd2lsbCBpbmRlbW5pZnkgYW5kIGhvbGQgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZLCBpdHMgc3Vic2lkaWFyaWVzLCBhZmZpbGlhdGVzLCBsaWNlbnNvcnMsIGNvbnRlbnQgcHJvdmlkZXJzLCBzZXJ2aWNlIHByb3ZpZGVycywgZW1wbG95ZWVzLCBhZ2VudHMsIG9mZmljZXJzLCBkaXJlY3RvcnMsIGFuZCBjb250cmFjdG9ycyAoaGVyZWluYWZ0ZXIga25vd24gYXMgdGhlICZxdW90O0luZGVtbmlmaWVkIFBhcnRpZXMmcXVvdDspIGhhcm1sZXNzIGZyb20gYW55IGJyZWFjaCBvZiB0aGVzZSBUZXJtcyBvZiBVc2UgYnkgeW91LCBpbmNsdWRpbmcgYW55IHVzZSBvZiBDb250ZW50IG90aGVyIHRoYW4gYXMgZXhwcmVzc2x5IGF1dGhvcml6ZWQgaW4gdGhlc2UgVGVybXMgb2YgVXNlLiBZb3UgYWdyZWUgdGhhdCB0aGUgSW5kZW1uaWZpZWQgUGFydGllcyB3aWxsIGhhdmUgbm8gbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCBhbnkgc3VjaCBicmVhY2ggb3IgdW5hdXRob3JpemVkIHVzZSwgYW5kIHlvdSBhZ3JlZSB0byBpbmRlbW5pZnkgYW55IGFuZCBhbGwgcmVzdWx0aW5nIGxvc3MsIGRhbWFnZXMsIGp1ZGdtZW50cywgYXdhcmRzLCBjb3N0cywgZXhwZW5zZXMsIGFuZCBhdHRvcm5leSYjMzk7cyBmZWVzIG9mIHRoZSBJbmRlbW5pZmllZCBQYXJ0aWVzIGluIGNvbm5lY3Rpb24gdGhlcmV3aXRoLiBZb3Ugd2lsbCBhbHNvIGluZGVtbmlmeSBhbmQgaG9sZCB0aGUgSW5kZW1uaWZpZWQgUGFydGllcyBoYXJtbGVzcyBmcm9tIGFuZCBhZ2FpbnN0IGFueSBjbGFpbXMgYnJvdWdodCBieSB0aGlyZCBwYXJ0aWVzIGFyaXNpbmcgb3V0IG9mIHlvdXIgdXNlIG9mIHRoZSBpbmZvcm1hdGlvbiBhY2Nlc3NlZCBmcm9tIHRoaXMgc2l0ZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+VHJhZGVtYXJrczwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5UcmFkZW1hcmtzLCBzZXJ2aWNlIG1hcmtzLCBhbmQgbG9nb3MgYXBwZWFyaW5nIGluIHRoaXMgc2l0ZSBhcmUgdGhlIHByb3BlcnR5IG9mIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBvciB0aGUgcGFydHkgdGhhdCBwcm92aWRlZCB0aGUgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgYW5kIGxvZ29zIHRvIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWS4gVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIGFuZCBhbnkgcGFydHkgdGhhdCBwcm92aWRlZCB0cmFkZW1hcmtzLCBzZXJ2aWNlIG1hcmtzLCBhbmQgbG9nb3MgdG8gVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIHJldGFpbiBhbGwgcmlnaHRzIHdpdGggcmVzcGVjdCB0byBhbnkgb2YgdGhlaXIgcmVzcGVjdGl2ZSB0cmFkZW1hcmtzLCBzZXJ2aWNlIG1hcmtzLCBhbmQgbG9nb3MgYXBwZWFyaW5nIGluIHRoaXMgc2l0ZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+SW5mb3JtYXRpb24gWW91IFByb3ZpZGU8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+WW91IG1heSBub3QgcG9zdCwgc2VuZCwgc3VibWl0LCBwdWJsaXNoLCBvciB0cmFuc21pdCBpbiBjb25uZWN0aW9uIHdpdGggdGhpcyBzaXRlIGFueSBtYXRlcmlhbCB0aGF0OjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj4mYnVsbDsgeW91IGRvIG5vdCBoYXZlIHRoZSByaWdodCB0byBwb3N0LCBpbmNsdWRpbmcgcHJvcHJpZXRhcnkgbWF0ZXJpYWwgb2YgYW55IHRoaXJkIHBhcnR5OyAmYnVsbDsgYWR2b2NhdGVzIGlsbGVnYWwgYWN0aXZpdHkgb3IgZGlzY3Vzc2VzIGFuIGludGVudCB0byBjb21taXQgYW4gaWxsZWdhbCBhY3Q7ICZidWxsOyBpcyB2dWxnYXIsIG9ic2NlbmUsIHBvcm5vZ3JhcGhpYywgb3IgaW5kZWNlbnQ7ICZidWxsOyBkb2VzIG5vdCBwZXJ0YWluIGRpcmVjdGx5IHRvIHRoaXMgc2l0ZTsgJmJ1bGw7IHRocmVhdGVucyBvciBhYnVzZXMgb3RoZXJzLCBsaWJlbHMsIGRlZmFtZXMsIGludmFkZXMgcHJpdmFjeSwgc3RhbGtzLCBpcyBvYnNjZW5lLCBwb3Jub2dyYXBoaWMsIHJhY2lzdCwgYWJ1c2l2ZSwgaGFyYXNzaW5nLCB0aHJlYXRlbmluZyBvciBvZmZlbnNpdmU7ICZidWxsOyBzZWVrcyB0byBleHBsb2l0IG9yIGhhcm0gY2hpbGRyZW4gYnkgZXhwb3NpbmcgdGhlbSB0byBpbmFwcHJvcHJpYXRlIGNvbnRlbnQsIGFza2luZyBmb3IgcGVyc29uYWxseSBpZGVudGlmaWFibGUgZGV0YWlscyBvciBvdGhlcndpc2U7ICZidWxsOyBpbmZyaW5nZXMgYW55IGludGVsbGVjdHVhbCBwcm9wZXJ0eSBvciBvdGhlciByaWdodCBvZiBhbnkgZW50aXR5IG9yIHBlcnNvbiwgaW5jbHVkaW5nIHZpb2xhdGluZyBhbnlvbmUmcnNxdW87cyBjb3B5cmlnaHRzIG9yIHRyYWRlbWFya3Mgb3IgdGhlaXIgcmlnaHRzIG9mIHB1YmxpY2l0eTsgJmJ1bGw7IHZpb2xhdGVzIGFueSBsYXcgb3IgbWF5IGJlIGNvbnNpZGVyZWQgdG8gdmlvbGF0ZSBhbnkgbGF3OyAmYnVsbDsgaW1wZXJzb25hdGVzIG9yIG1pc3JlcHJlc2VudHMgeW91ciBjb25uZWN0aW9uIHRvIGFueSBvdGhlciBlbnRpdHkgb3IgcGVyc29uIG9yIG90aGVyd2lzZSBtYW5pcHVsYXRlcyBoZWFkZXJzIG9yIGlkZW50aWZpZXJzIHRvIGRpc2d1aXNlIHRoZSBvcmlnaW4gb2YgdGhlIGNvbnRlbnQ7ICZidWxsOyBhZHZlcnRpc2VzIGFueSBjb21tZXJjaWFsIGVuZGVhdm9yIChlLmcuLCBvZmZlcmluZyBmb3Igc2FsZSBwcm9kdWN0cyBvciBzZXJ2aWNlcykgb3Igb3RoZXJ3aXNlIGVuZ2FnZXMgaW4gYW55IGNvbW1lcmNpYWwgYWN0aXZpdHkgKGUuZy4sIGNvbmR1Y3RpbmcgcmFmZmxlcyBvciBjb250ZXN0cywgZGlzcGxheWluZyBzcG9uc29yc2hpcCBiYW5uZXJzLCBhbmQvb3Igc29saWNpdGluZyBnb29kcyBvciBzZXJ2aWNlcykgZXhjZXB0IGFzIG1heSBiZSBzcGVjaWZpY2FsbHkgYXV0aG9yaXplZCBvbiB0aGlzIHNpdGU7ICZidWxsOyBzb2xpY2l0cyBmdW5kcywgYWR2ZXJ0aXNlcnMgb3Igc3BvbnNvcnM7ICZidWxsOyBpbmNsdWRlcyBwcm9ncmFtcyB3aGljaCBjb250YWluIHZpcnVzZXMsIHdvcm1zIGFuZC9vciBUcm9qYW4gaG9yc2VzIG9yIGFueSBvdGhlciBjb21wdXRlciBjb2RlLCBmaWxlcyBvciBwcm9ncmFtcyBkZXNpZ25lZCB0byBpbnRlcnJ1cHQsIGRlc3Ryb3kgb3IgbGltaXQgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgYW55IGNvbXB1dGVyIHNvZnR3YXJlIG9yIGhhcmR3YXJlIG9yIHRlbGVjb21tdW5pY2F0aW9uczsgJmJ1bGw7IGRpc3J1cHRzIHRoZSBub3JtYWwgZmxvdyBvZiBkaWFsb2d1ZSwgY2F1c2VzIGEgc2NyZWVuIHRvIHNjcm9sbCBmYXN0ZXIgdGhhbiBvdGhlciB1c2VycyBhcmUgYWJsZSB0byB0eXBlLCBvciBvdGhlcndpc2UgYWN0IGluIGEgd2F5IHdoaWNoIGFmZmVjdHMgdGhlIGFiaWxpdHkgb2Ygb3RoZXIgcGVvcGxlIHRvIGVuZ2FnZSBpbiByZWFsIHRpbWUgYWN0aXZpdGllcyB2aWEgdGhpcyBzaXRlOyAmYnVsbDsgaW5jbHVkZXMgTVAzIGZvcm1hdCBmaWxlczsgJmJ1bGw7IGFtb3VudHMgdG8gYSAmIzM5O3B5cmFtaWQmIzM5OyBvciBzaW1pbGFyIHNjaGVtZTsgJmJ1bGw7IGRpc29iZXlzIGFueSBwb2xpY3kgb3IgcmVndWxhdGlvbnMgZXN0YWJsaXNoZWQgZnJvbSB0aW1lIHRvIHRpbWUgcmVnYXJkaW5nIHVzZSBvZiB0aGlzIHNpdGUgb3IgYW55IG5ldHdvcmtzIGNvbm5lY3RlZCB0byB0aGlzIHNpdGU7IG9yPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPiZidWxsOyBjb250YWlucyBoeXBlci1saW5rcyB0byBvdGhlciBzaXRlcyB0aGF0IGNvbnRhaW4gY29udGVudCB0aGF0IGZhbGxzIHdpdGhpbiB0aGUgZGVzY3JpcHRpb25zIHNldCBmb3J0aCBhYm92ZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+QWx0aG91Z2ggdW5kZXIgbm8gb2JsaWdhdGlvbiB0byBkbyBzbywgdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSByZXNlcnZlcyB0aGUgcmlnaHQgdG8gbW9uaXRvciB1c2Ugb2YgdGhpcyBzaXRlIHRvIGRldGVybWluZSBjb21wbGlhbmNlIHdpdGggdGhlc2UgVGVybXMgb2YgVXNlLCBhcyB3ZWxsIHRoZSByaWdodCB0byByZW1vdmUgb3IgcmVmdXNlIGFueSBpbmZvcm1hdGlvbiBmb3IgYW55IHJlYXNvbi4gTm90d2l0aHN0YW5kaW5nIHRoZXNlIHJpZ2h0cywgeW91IHJlbWFpbiBzb2xlbHkgcmVzcG9uc2libGUgZm9yIHRoZSBjb250ZW50IG9mIHlvdXIgc3VibWlzc2lvbnMuIFlvdSBhY2tub3dsZWRnZSBhbmQgYWdyZWUgdGhhdCBuZWl0aGVyIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBub3IgYW55IHRoaXJkIHBhcnR5IHRoYXQgcHJvdmlkZXMgQ29udGVudCB0byBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgd2lsbCBhc3N1bWUgb3IgaGF2ZSBhbnkgbGlhYmlsaXR5IGZvciBhbnkgYWN0aW9uIG9yIGluYWN0aW9uIGJ5IFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBvciBzdWNoIHRoaXJkIHBhcnR5IHdpdGggcmVzcGVjdCB0byBhbnkgc3VibWlzc2lvbi48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+U2VjdXJpdHk8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+QW55IHBhc3N3b3JkcyB1c2VkIGZvciB0aGlzIHNpdGUgYXJlIGZvciBpbmRpdmlkdWFsIHVzZSBvbmx5LiBZb3Ugd2lsbCBiZSByZXNwb25zaWJsZSBmb3IgdGhlIHNlY3VyaXR5IG9mIHlvdXIgcGFzc3dvcmQgKGlmIGFueSkuIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSB3aWxsIGJlIGVudGl0bGVkIHRvIG1vbml0b3IgeW91ciBwYXNzd29yZCBhbmQsIGF0IGl0cyBkaXNjcmV0aW9uLCByZXF1aXJlIHlvdSB0byBjaGFuZ2UgaXQuIElmIHlvdSB1c2UgYSBwYXNzd29yZCB0aGF0IFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBjb25zaWRlcnMgaW5zZWN1cmUsIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSB3aWxsIGJlIGVudGl0bGVkIHRvIHJlcXVpcmUgdGhlIHBhc3N3b3JkIHRvIGJlIGNoYW5nZWQgYW5kL29yIHRlcm1pbmF0ZSB5b3VyIGFjY291bnQuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPllvdSBhcmUgcHJvaGliaXRlZCBmcm9tIHVzaW5nIGFueSBzZXJ2aWNlcyBvciBmYWNpbGl0aWVzIHByb3ZpZGVkIGluIGNvbm5lY3Rpb24gd2l0aCB0aGlzIHNpdGUgdG8gY29tcHJvbWlzZSBzZWN1cml0eSBvciB0YW1wZXIgd2l0aCBzeXN0ZW0gcmVzb3VyY2VzIGFuZC9vciBhY2NvdW50cy4gVGhlIHVzZSBvciBkaXN0cmlidXRpb24gb2YgdG9vbHMgZGVzaWduZWQgZm9yIGNvbXByb21pc2luZyBzZWN1cml0eSAoZS5nLiwgcGFzc3dvcmQgZ3Vlc3NpbmcgcHJvZ3JhbXMsIGNyYWNraW5nIHRvb2xzIG9yIG5ldHdvcmsgcHJvYmluZyB0b29scykgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGJlY29tZSBpbnZvbHZlZCBpbiBhbnkgdmlvbGF0aW9uIG9mIHN5c3RlbSBzZWN1cml0eSwgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIHJlc2VydmVzIHRoZSByaWdodCB0byByZWxlYXNlIHlvdXIgZGV0YWlscyB0byBzeXN0ZW0gYWRtaW5pc3RyYXRvcnMgYXQgb3RoZXIgc2l0ZXMgaW4gb3JkZXIgdG8gYXNzaXN0IHRoZW0gaW4gcmVzb2x2aW5nIHNlY3VyaXR5IGluY2lkZW50cy4gVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIHJlc2VydmVzIHRoZSByaWdodCB0byBpbnZlc3RpZ2F0ZSBzdXNwZWN0ZWQgdmlvbGF0aW9ucyBvZiB0aGVzZSBUZXJtcyBvZiBVc2UuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPlZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSByZXNlcnZlcyB0aGUgcmlnaHQgdG8gZnVsbHkgY29vcGVyYXRlIHdpdGggYW55IGxhdyBlbmZvcmNlbWVudCBhdXRob3JpdGllcyBvciBjb3VydCBvcmRlciByZXF1ZXN0aW5nIG9yIGRpcmVjdGluZyBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgdG8gZGlzY2xvc2UgdGhlIGlkZW50aXR5IG9mIGFueW9uZSBwb3N0aW5nIGFueSBlLW1haWwgbWVzc2FnZXMsIG9yIHB1Ymxpc2hpbmcgb3Igb3RoZXJ3aXNlIG1ha2luZyBhdmFpbGFibGUgYW55IG1hdGVyaWFscyB0aGF0IGFyZSBiZWxpZXZlZCB0byB2aW9sYXRlIHRoZXNlIFRlcm1zIG9mIFVzZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+QlkgQUNDRVBUSU5HIFRISVMgQUdSRUVNRU5UIFlPVSBXQUlWRSBBTkQgSE9MRCBIQVJNTEVTUyBWSUxMQUdFIE9GIENBTUJSSURHRSwgTlkgRlJPTSBBTlkgQ0xBSU1TIFJFU1VMVElORyBGUk9NIEFOWSBBQ1RJT04gVEFLRU4gQlkgVklMTEFHRSBPRiBDQU1CUklER0UsIE5ZIERVUklORyBPUiBBUyBBIFJFU1VMVCBPRiBJVFMgSU5WRVNUSUdBVElPTlMgQU5EL09SIEZST00gQU5ZIEFDVElPTlMgVEFLRU4gQVM8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+QSBDT05TRVFVRU5DRSBPRiBJTlZFU1RJR0FUSU9OUyBCWSBFSVRIRVIgVklMTEFHRSBPRiBDQU1CUklER0UsIE5ZIE9SIExBVyBFTkZPUkNFTUVOVCBBVVRIT1JJVElFUy48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+TWlzY2VsbGFuZW91czwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5UaGVzZSBUZXJtcyBvZiBVc2Ugd2lsbCBiZSBnb3Zlcm5lZCBhbmQgaW50ZXJwcmV0ZWQgcHVyc3VhbnQgdG8gdGhlIGxhd3Mgb2YgTmV3IFlvcmssIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSwgbm90d2l0aHN0YW5kaW5nIGFueSBwcmluY2lwbGVzIG9mIGNvbmZsaWN0cyBvZiBsYXcuIFlvdSBzcGVjaWZpY2FsbHkgY29uc2VudCB0byBwZXJzb25hbCBqdXJpc2RpY3Rpb24gaW4gTmV3IFlvcmsgaW4gY29ubmVjdGlvbiB3aXRoIGFueSBkaXNwdXRlIGJldHdlZW4geW91IGFuZCBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgYXJpc2luZyBvdXQgb2YgdGhlc2UgVGVybXMgb2YgVXNlIG9yIHBlcnRhaW5pbmcgdG8gdGhlIHN1YmplY3QgbWF0dGVyIGhlcmVvZi4gVGhlIHBhcnRpZXMgdG8gdGhlc2UgVGVybXMgb2YgVXNlIGVhY2ggYWdyZWUgdGhhdCB0aGUgZXhjbHVzaXZlIHZlbnVlIGZvciBhbnkgZGlzcHV0ZSBiZXR3ZWVuIHRoZSBwYXJ0aWVzIGFyaXNpbmcgb3V0IG9mIHRoZXNlIFRlcm1zIG9mIFVzZSBvciBwZXJ0YWluaW5nIHRvIHRoZSBzdWJqZWN0IG1hdHRlciBvZiB0aGVzZSBUZXJtcyBvZiBVc2Ugd2lsbCBiZSBpbiB0aGUgc3RhdGUgYW5kIGZlZGVyYWwgY291cnRzIGluIENhbWJyaWRnZSwgTmV3IFlvcmsuIElmIGFueSBwYXJ0IG9mIHRoZXNlIFRlcm1zIG9mIFVzZSBpcyB1bmxhd2Z1bCwgdm9pZCBvciB1bmVuZm9yY2VhYmxlLCB0aGF0IHBhcnQgd2lsbCBiZSBkZWVtZWQgc2V2ZXJhYmxlIGFuZCB3aWxsIG5vdCBhZmZlY3QgdGhlIHZhbGlkaXR5IGFuZCBlbmZvcmNlYWJpbGl0eSBvZiBhbnkgcmVtYWluaW5nIHByb3Zpc2lvbnMuIFRoZXNlIFRlcm1zIG9mIFVzZSBjb25zdGl0dXRlIHRoZSBlbnRpcmUgYWdyZWVtZW50IGFtb25nIHRoZSBwYXJ0aWVzIHJlbGF0aW5nIHRvIHRoaXMgc3ViamVjdCBtYXR0ZXIuIE5vdHdpdGhzdGFuZGluZyB0aGUgZm9yZWdvaW5nLCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvbiB0aGlzIHNpdGUgd2lsbCBnb3Zlcm4gdGhlIGl0ZW1zIHRvIHdoaWNoIHRoZXkgcGVydGFpbi4gVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIG1heSByZXZpc2UgdGhlc2UgVGVybXMgb2YgVXNlIGF0IGFueSB0aW1lIGJ5IHVwZGF0aW5nIHRoaXMgcG9zdGluZy48L3A+CjxoaWdobGlnaHQgY2xhc3M9ImNvbXBhbnlFbWFpbFVwZGF0ZSI+Y2xlcmtAY2FtYnJpZGdlbnkuZ292PC9oaWdobGlnaHQ+","privacy":"PHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPllvdXIgcHJpdmFjeSBpcyB2ZXJ5IGltcG9ydGFudCB0byB1cy4gV2Ugd2FudCB0byBtYWtlIHlvdXIgZXhwZXJpZW5jZSBvbiB0aGUgSW50ZXJuZXQgYXMgZW5qb3lhYmxlIGFuZCByZXdhcmRpbmcgYXMgcG9zc2libGUsIGFuZCB3ZSB3YW50IHlvdSB0byB1c2UgdGhlIEludGVybmV0JiMzOTtzIHZhc3QgYXJyYXkgb2YgaW5mb3JtYXRpb24sIHRvb2xzLCBhbmQgb3Bwb3J0dW5pdGllcyB3aXRoIGNvbXBsZXRlIGNvbmZpZGVuY2UuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPldlIGhhdmUgY3JlYXRlZCB0aGlzIFByaXZhY3kgUG9saWN5IHRvIGRlbW9uc3RyYXRlIG91ciBmaXJtIGNvbW1pdG1lbnQgdG8gcHJpdmFjeSBhbmQgc2VjdXJpdHkuIFRoaXMgUHJpdmFjeSBQb2xpY3kgZGVzY3JpYmVzIGhvdyB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIGNvbGxlY3RzIGluZm9ybWF0aW9uIGZyb20gYWxsIGVuZCB1c2VycyBvZiBvdXIgSW50ZXJuZXQgc2VydmljZXMgKHRoZSAmcXVvdDtTZXJ2aWNlcyZxdW90OyktdGhvc2Ugd2hvIGFjY2VzcyBzb21lIG9mIG91ciBTZXJ2aWNlcyBidXQgZG8gbm90IGhhdmUgYWNjb3VudHMgKCZxdW90O1Zpc2l0b3JzJnF1b3Q7KSBhcyB3ZWxsIGFzIHRob3NlIHdobyBtYXkgcHVyY2hhc2UgUHJvZHVjdHMgLXdoYXQgd2UgZG8gd2l0aCB0aGUgaW5mb3JtYXRpb24gd2UgY29sbGVjdCwgYW5kIHRoZSBjaG9pY2VzIFZpc2l0b3JzIGhhdmUgY29uY2VybmluZyB0aGUgY29sbGVjdGlvbiBhbmQgdXNlIG9mIHN1Y2ggaW5mb3JtYXRpb24uIFdlIHJlcXVlc3QgdGhhdCB5b3UgcmVhZCB0aGlzIFByaXZhY3kgUG9saWN5IGNhcmVmdWxseS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+UGVyc29uYWwgSW5mb3JtYXRpb24gdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBDb2xsZWN0cyBhbmQgSG93IEl0IElzIFVzZWQ8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+SW50cm9kdWN0aW9uLiBUaGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIGNvbGxlY3RzIGluZm9ybWF0aW9uIGluIGRpZmZlcmVudCB3YXlzIGZyb20gVmlzaXRvcnMgd2hvIGFjY2VzcyB0aGUgdmFyaW91cyBwYXJ0cyBvZiBvdXIgU2VydmljZXMgYW5kIHRoZSBuZXR3b3JrIG9mIFdlYiBzaXRlcyBhY2Nlc3NpYmxlIHRocm91Z2ggb3VyIFNlcnZpY2UuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPlJlZ2lzdHJhdGlvbjogTWVtYmVycyBtYXkgYmUgYXNrZWQgdG8gcHJvdmlkZSBjZXJ0YWluIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdoZW4gdGhleSBzaWduIHVwIGZvciBvdXIgUHJvZHVjdHMgb3IgU2VydmljZXMgaW5jbHVkaW5nIG5hbWUsIGFkZHJlc3MsIHRlbGVwaG9uZSBudW1iZXIsIGJpbGxpbmcgaW5mb3JtYXRpb24gKHN1Y2ggYXMgYSBjcmVkaXQgY2FyZCBudW1iZXIpLCBhbmQgdGhlIHR5cGUgb2YgcGVyc29uYWwgY29tcHV0ZXIgYmVpbmcgdXNlZCB0byBhY2Nlc3MgdGhlIFNlcnZpY2VzLiBUaGUgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkIGZyb20gTWVtYmVycyBkdXJpbmcgdGhlIHJlZ2lzdHJhdGlvbiBwcm9jZXNzIGlzIHVzZWQgdG8gbWFuYWdlIGVhY2ggTWVtYmVyJiMzOTtzIGFjY291bnQgKHN1Y2ggYXMgZm9yIGJpbGxpbmcgcHVycG9zZXMpLiBUaGlzIGluZm9ybWF0aW9uIG1heSBiZSBzaGFyZWQgd2l0aCB0aGlyZCBwYXJ0aWVzLCBhcyBzdGF0ZWQgaGVyZWluLCBvciBpbiBzcGVjaWFsIGNpcmN1bXN0YW5jZXMuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPkhvd2V2ZXIsIGluIGluc3RhbmNlcyB3aGVyZSB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIGFuZCBhIHBhcnRuZXIgam9pbnRseSBwcm9tb3RlIG91ciBTZXJ2aWNlcywgd2UgbWF5IHByb3ZpZGUgdGhlIHBhcnRuZXIgY2VydGFpbiBwZXJzb25hbCBpbmZvcm1hdGlvbiwgc3VjaCBhcyB0aGUgbmFtZSwgYWRkcmVzcywgYW5kIHVzZXJuYW1lIG9mIHBlcnNvbnMgd2hvIHN1YnNjcmliZWQgdG8gdGhlIFNlcnZpY2VzIGFzIGEgcmVzdWx0IG9mIHRoZSBqb2ludCBwcm9tb3Rpb24gZm9yIHRoZSBwdXJwb3NlIG9mIG9mZmVyaW5nIHlvdSBvdGhlciBwcm9kdWN0cyBhbmQgc2VydmljZXMuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPkluIHRoaXMgaW5zdGFuY2UsIHBlcnNvbmFsIGluZm9ybWF0aW9uIG1heSBub3QgYmUgdXNlZCBieSB0aGUgcGFydG5lciBmb3IgYW55IG90aGVyIHB1cnBvc2UuIFdlIG1heSBhbHNvIGdlbmVyYXRlIG5vbi1pZGVudGlmeWluZyBhbmQgYWdncmVnYXRlIHByb2ZpbGVzIGZyb20gcGVyc29uYWwgaW5mb3JtYXRpb24gTWVtYmVycyBwcm92aWRlIGR1cmluZyByZWdpc3RyYXRpb24gKHN1Y2ggYXMgdGhlIHRvdGFsIG51bWJlciwgYnV0IG5vdCB0aGUgbmFtZXMsIG9mIE1lbWJlcnMpLiBBcyBleHBsYWluZWQgaW4gbW9yZSBkZXRhaWwgYmVsb3csIHdlIG1heSB1c2UgdGhpcyBhZ2dyZWdhdGVkIGFuZCBub24taWRlbnRpZnlpbmcgaW5mb3JtYXRpb24gdG8gc2VsbCBhZHZlcnRpc2VtZW50cyB0aGF0IGFwcGVhciBvbiB0aGUgU2VydmljZXMuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPkFsc28sIHdpdGggcHVyY2hhc2VzLCB3ZSBzdXBwbHkgb3VyIG1lbWJlciYjMzk7cyBjb250YWN0IGluZm9ybWF0aW9uLCB0byBvdXIgYnVzaW5lc3MgcGFydG5lcnMsIHdobyB0aGVuIG1heSBjb250YWN0IHRoZSBtZW1iZXIgYnkgdGVsZXBob25lIGFmdGVyIHRoZSBtZW1iZXIgcHVyY2hhc2UuIFNhbGVzIHByb2NlZWRzIGFyZSBjb2xsZWN0ZWQgYnkgdGhlIGJ1c2luZXNzIHBhcnRuZXIgY29tcGFueS4gV2UgYWxzbyBtYXkgc3VwcGx5IG90aGVyIGNvbXBhbmllcyB3aXRoIGNvbnRhY3QgaW5mb3JtYXRpb24sIGZvciBtYWlsIG9mZmVycyB3ZSBiZWxpZXZlIHdvdWxkIGJlIG9mIGludGVyZXN0IHRvIG91ciBtZW1iZXJzLCB3aXRoIG9yIHdpdGhvdXQgY29tcGVuc2F0aW9uIGZyb20gdGhvc2UgY29tcGFuaWVzLiBBdCB0aW1lcyB3ZSBtYXkgc2VuZCBhbiBhZHZlcnRpc2VtZW50IGZvciBhIHRoaXJkIHBhcnR5IHByb2R1Y3QsIHdoZXJlIHdlIGNvbGxlY3QgdGhlIHNhbGVzIHByb2NlZWRzLCBhbmQgZm9yd2FyZCB0aGUgcHVyY2hhc2VyJiMzOTtzIGluZm9ybWF0aW9uIHRvIHRoYXQgdGhpcmQgcGFydHkuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPlRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgUGFydG5lcnMgYW5kIFNwb25zb3JzOiBTb21lIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBtYXkgYmUgb2ZmZXJlZCB0byBWaXNpdG9ycyBhbmQgTWVtYmVycyBpbiBjb25qdW5jdGlvbiB3aXRoIGFuIGFmZmlsaWF0ZSwgaW5kZXBlbmRlbnQgY29udHJhY3RvciBzZWxsZXIgb3Igbm9uLWFmZmlsaWF0ZWQgcGFydG5lci4gVG8gcHJvdmlkZSBWaXNpdG9ycyBhbmQgTWVtYmVycyBzb21lIG9mIHRoZXNlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcywgdGhlIHBhcnRuZXIgbWF5IG5lZWQgdG8gY29sbGVjdCBhbmQgbWFpbnRhaW4gcGVyc29uYWwgaW5mb3JtYXRpb24uPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPk9ubGluZSBTaG9wcGluZzogQXQgc29tZSBXZWIgc2l0ZXMsIHlvdSBjYW4gcHVyY2hhc2UgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIG9yIHJlZ2lzdGVyIHRvIHJlY2VpdmUgbWF0ZXJpYWxzLCBzdWNoIGFzIGEgbmV3c2xldHRlciwgY2F0YWxvZyBvciBuZXcgcHJvZHVjdCBhbmQgc2VydmljZSB1cGRhdGVzLiBJbiBtYW55IGNhc2VzLCB5b3UgbWF5IGJlIGFza2VkIHRvIHByb3ZpZGUgY29udGFjdCBpbmZvcm1hdGlvbiwgc3VjaCBhcyB5b3VyIG5hbWUsIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MsIHBob25lIG51bWJlciwgYW5kIGNyZWRpdC9kZWJpdCBjYXJkIGluZm9ybWF0aW9uLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5JZiB5b3UgY29tcGxldGUgYW4gb3JkZXIgZm9yIHNvbWVvbmUgZWxzZSwgc3VjaCBhcyBhbiBvbmxpbmUgZ2lmdCBvcmRlciBzZW50IGRpcmVjdGx5IHRvIGEgcmVjaXBpZW50LCB5b3UgbWF5IGJlIGFza2VkIHRvIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlY2lwaWVudCwgc3VjaCBhcyB0aGUgcmVjaXBpZW50JiMzOTtzIG5hbWUsIGFkZHJlc3MsIGFuZCBwaG9uZSBudW1iZXIuIFRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgaGFzIG5vIGNvbnRyb2wgb3ZlciB0aGUgdGhpcmQgcGFydGllcyYjMzk7IHVzZSBvZiBhbnkgcGVyc29uYWwgaW5mb3JtYXRpb24geW91IHByb3ZpZGUgd2hlbiBwbGFjaW5nIHN1Y2ggYW4gb3JkZXIuIFBsZWFzZSBleGVyY2lzZSBjYXJlIHdoZW4gZG9pbmcgc28uPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPklmIHlvdSBvcmRlciBzZXJ2aWNlcyBvciBwcm9kdWN0cyBkaXJlY3RseSBmcm9tIHRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlksIHdlIHVzZSB0aGUgcGVyc29uYWwgaW5mb3JtYXRpb24geW91IHByb3ZpZGUgdG8gcHJvY2VzcyB0aGF0IG9yZGVyLiBXZSBkbyBzaGFyZSB0aGlzIGluZm9ybWF0aW9uIHdpdGggb3V0c2lkZSBwYXJ0aWVzIHRoYXQgd2UgZG8gYnVzaW5lc3Mgd2l0aC48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+T25saW5lIEFkdmVydGlzZW1lbnRzOiBUaGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIG1heSBkaXNwbGF5IG91ciBvbmxpbmUgYWR2ZXJ0aXNlbWVudHMuIEluIHRob3NlIGNhc2VzIHdlIHNoYXJlIGluZm9ybWF0aW9uIGFib3V0IG91ciBWaXNpdG9ycyBhbmQgTWVtYmVycyBjb2xsZWN0ZWQgdGhyb3VnaCB0aGUgcmVnaXN0cmF0aW9uIHByb2Nlc3MgYXMgd2VsbCBhcyB0aHJvdWdoIG9ubGluZSBzdXJ2ZXlzIGFuZCBwcm9tb3Rpb25zIHdpdGggdGhlc2UgYWR2ZXJ0aXNlcnMuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPkFkZGl0aW9uYWxseSwgaW4gc29tZSBpbnN0YW5jZXMsIHdlIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIGRlbGl2ZXIgdGFpbG9yZWQgYWR2ZXJ0aXNlbWVudHMgb3Igam9pbnQgdmVudHVyZXMuIEZvciBpbnN0YW5jZSwgYW4gYWR2ZXJ0aXNlciBvciBqb2ludCB2ZW50dXJlIGNvbXBhbnkgdGVsbHMgdXMgdGhlIGF1ZGllbmNlIHRoZXkgd2FudCB0byByZWFjaCBhbmQgcHJvdmlkZXMgdXMgYW4gYWR2ZXJ0aXNlbWVudCB0YWlsb3JlZCB0byB0aGUgYXVkaWVuY2UuIEJhc2VkIHVwb24gdGhlIGluZm9ybWF0aW9uIHdlIGhhdmUgY29sbGVjdGVkLCB3ZSBtYXkgdGhlbiBkaXNwbGF5IG9yIHNlbmQgdGhlIGFkdmVydGlzZW1lbnQgdG8gdGhlIGludGVuZGVkIGF1ZGllbmNlLiBUaGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIGRvZXMgc2hhcmUgcGVyc29uYWwgaW5mb3JtYXRpb24gYWJvdXQgaXRzIFZpc2l0b3JzIG9yIE1lbWJlcnMgd2l0aCB0aGVzZSBhZHZlcnRpc2VycyBvciBqb2ludCB2ZW50dXJlIGNvbXBhbmllcy48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+UmVzcG9uc2VzIHRvIEVtYWlsIElucXVpcmllczogV2hlbiBWaXNpdG9ycyBvciBNZW1iZXJzIHNlbmQgZW1haWwgaW5xdWlyaWVzIHRvIHRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlksIHRoZSByZXR1cm4gZW1haWwgYWRkcmVzcyBpcyB1c2VkIHRvIGFuc3dlciB0aGUgZW1haWwgaW5xdWlyeSB3ZSByZWNlaXZlLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5Wb2x1bnRhcnkgQ3VzdG9tZXIgU3VydmV5czogV2UgbWF5IHBlcmlvZGljYWxseSBjb25kdWN0IGJvdGggYnVzaW5lc3MgYW5kIGluZGl2aWR1YWwgY3VzdG9tZXIgc3VydmV5cy4gV2UgZW5jb3VyYWdlIG91ciBjdXN0b21lcnMgdG8gcGFydGljaXBhdGUgaW4gdGhlc2Ugc3VydmV5cyBiZWNhdXNlIHRoZXkgcHJvdmlkZSB1cyB3aXRoIGltcG9ydGFudCBpbmZvcm1hdGlvbiB0aGF0IGhlbHBzIHVzIHRvIGltcHJvdmUgdGhlIHR5cGVzIG9mIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyB3ZSBvZmZlciBhbmQgaG93IHdlIHByb3ZpZGUgdGhlbSB0byB5b3UuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPldlIG1heSB0YWtlIHRoZSBpbmZvcm1hdGlvbiB3ZSByZWNlaXZlIGZyb20gaW5kaXZpZHVhbHMgcmVzcG9uZGluZyB0byBvdXIgQ3VzdG9tZXIgU3VydmV5cyBhbmQgY29tYmluZSAob3IgYWdncmVnYXRlKSBpdCB3aXRoIHRoZSByZXNwb25zZXMgb2Ygb3RoZXIgY3VzdG9tZXJzIHdlIG1heSBoYXZlLCB0byBjcmVhdGUgYnJvYWRlciwgZ2VuZXJpYyByZXNwb25zZXMgdG8gdGhlIHN1cnZleSBxdWVzdGlvbnMgKHN1Y2ggYXMgZ2VuZGVyLCBhZ2UsIHJlc2lkZW5jZSwgaG9iYmllcywgZWR1Y2F0aW9uLCBlbXBsb3ltZW50LCBpbmR1c3RyeSBzZWN0b3IsIG9yIG90aGVyIGRlbW9ncmFwaGljIGluZm9ybWF0aW9uKS4gV2UgdGhlbiB1c2UgdGhlIGFnZ3JlZ2F0ZWQgaW5mb3JtYXRpb24gdG8gaW1wcm92ZSB0aGUgcXVhbGl0eSBvZiBvdXIgc2VydmljZXMgdG8geW91LCBhbmQgdG8gZGV2ZWxvcCBuZXcgc2VydmljZXMgYW5kIHByb2R1Y3RzLiBUaGlzIGFnZ3JlZ2F0ZWQsIG5vbi1wZXJzb25hbGx5IGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIG1heSBiZSBzaGFyZWQgd2l0aCB0aGlyZCBwYXJ0aWVzLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5Qcm9tb3Rpb25zOiBUaGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIG1heSBvZmZlciBwb2xscywgY29udGVzdHMsIHN3ZWVwc3Rha2VzLCBkcmF3aW5ncywgZ2FtZXMsIGNvbnRlbnQsIG9yIG90aGVyIHByb21vdGlvbnMgdGhhdCBhcmUgc3BvbnNvcmVkIGJ5IG9yIGNvYnJhbmRlZCB3aXRoIHRoaXJkIHBhcnRpZXMuIFlvdSBtYXkgYmUgZW50ZXJlZCBpbiBhIHN3ZWVwc3Rha2VzLCBjb250ZXN0LCBvciBvdGhlciBwcm9tb3Rpb24sIHNpbXBseSBieSBtYWtpbmcgYSBwdXJjaGFzZSBmcm9tIHVzIG9yIGJ5IHByb3ZpZGluZyB1cyB3aXRoIHBlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGluZm9ybWF0aW9uIGZvciBzb21lIG90aGVyIHJlYXNvbiBvciBwdXJwb3NlLiBEdWUgdG8gdGhlc2UgdGhpcmQgcGFydHkgcmVsYXRpb25zaGlwcywgdGhlIHRoaXJkIHBhcnRpZXMgbWF5IG9idGFpbiBwZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiB0aGF0IHZpc2l0b3JzIHZvbHVudGFyaWx5IHN1Ym1pdCB0byB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZLiBUaGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIGhhcyBubyBjb250cm9sIG92ZXIgdGhpcmQgcGFydGllcyYjMzk7IHVzZSBvZiB0aGlzIGluZm9ybWF0aW9uLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5BZGRpdGlvbmFsbHksIHBlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGluZm9ybWF0aW9uIG1heSBiZSBjb2xsZWN0ZWQgd2hlbiB5b3Ugb3JkZXIgcHJvZHVjdHMsIGVudGVyIGNvbnRlc3RzLCB2b3RlIGluIHBvbGxzIG9yIG90aGVyd2lzZSBleHByZXNzIGFuIG9waW5pb24sIHN1YnNjcmliZSB0byBvbmUgb2Ygb3VyIHNlcnZpY2VzIHN1Y2ggYXMgb3VyIG9ubGluZSBuZXdzbGV0dGVycywgb3IgcGFydGljaXBhdGUgaW4gb25lIG9mIG91ciBvbmxpbmUgZm9ydW1zIG9yIGNvbW11bml0aWVzLiBUaGUgdHlwZXMgb2YgcGVyc29uYWxseSBpZGVudGlmaWFibGUgaW5mb3JtYXRpb24gdGhhdCBtYXkgYmUgY29sbGVjdGVkIGF0IHRoZXNlIHBhZ2VzIGluY2x1ZGUgYnV0IG1heSBub3QgYmUgbGltaXRlZCB0bzogbmFtZSwgYWRkcmVzcywgZS1tYWlsIGFkZHJlc3MsIHRlbGVwaG9uZSBudW1iZXIsIGZheCBudW1iZXIsIGNyZWRpdCBjYXJkIGluZm9ybWF0aW9uLCBhbmQgaW5mb3JtYXRpb24gYWJvdXQgeW91ciBpbnRlcmVzdHMgaW4gYW5kIHVzZSBvZiB2YXJpb3VzIHByb2R1Y3RzLCBwcm9ncmFtcywgYW5kIHNlcnZpY2VzLiBPdXIgc3BvbnNvcnMgb3IgdGhpcmQgcGFydGllcyBtYXkgc2VuZCB5b3UgbWF0ZXJpYWwgdGhhdCByZWxhdGVzIHRvIHRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkmIzM5O3Mgc2VydmljZXMsIHByb2R1Y3RzIG9yIGFjdGl2aXRpZXMuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPlNwZWNpYWwgQ2FzZXM6IEl0IGlzIHRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkmIzM5O3MgcG9saWN5IHRvIHVzZSBvciBzaGFyZSB0aGUgcGVyc29uYWwgaW5mb3JtYXRpb24gYWJvdXQgVmlzaXRvcnMgb3IgTWVtYmVycyBpbiB3YXlzIGRlc2NyaWJlZCBoZXJlaW4gd2l0aG91dCBhZGRpdGlvbmFsIG5vdGljZSBvciBtZWFucyB0byBvcHQgb3V0IG9yIG90aGVyd2lzZSBwcm9oaWJpdCBzdWNoIHVucmVsYXRlZCB1c2VzLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5BbHNvLCB3ZSBtYXkgZGlzY2xvc2UgcGVyc29uYWwgaW5mb3JtYXRpb24gYWJvdXQgVmlzaXRvcnMgb3IgTWVtYmVycywgb3IgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHlvdXIgdXNlIG9mIHRoZSBTZXJ2aWNlcyBvciBXZWIgc2l0ZXMgYWNjZXNzaWJsZSB0aHJvdWdoIG91ciBTZXJ2aWNlcywgZm9yIGFueSByZWFzb24gaWYsIGluIG91ciBzb2xlIGRpc2NyZXRpb24sIHdlIGJlbGlldmUgdGhhdCBpdCBpcyByZWFzb25hYmxlIHRvIGRvIHNvLCBpbmNsdWRpbmc6IGNyZWRpdCBhZ2VuY2llcywgY29sbGVjdGlvbiBhZ2VuY2llcywgbWVyY2hhbnQgZGF0YWJhc2UgYWdlbmNpZXMsIGxhdyBlbmZvcmNlbWVudCwgb3IgdG8gc2F0aXNmeSBsYXdzLCBzdWNoIGFzIHRoZSBFbGVjdHJvbmljIENvbW11bmljYXRpb25zIFByaXZhY3kgQWN0LCB0aGUgQ2hpbGQgT25saW5lIFByaXZhY3kgQWN0LCByZWd1bGF0aW9ucywgb3IgZ292ZXJubWVudGFsIG9yIGxlZ2FsIHJlcXVlc3RzIGZvciBzdWNoIGluZm9ybWF0aW9uOyB0byBkaXNjbG9zZSBpbmZvcm1hdGlvbiB0aGF0IGlzIG5lY2Vzc2FyeSB0byBpZGVudGlmeSwgY29udGFjdCwgb3IgYnJpbmcgbGVnYWwgYWN0aW9uIGFnYWluc3Qgc29tZW9uZSB3aG8gbWF5IGJlIHZpb2xhdGluZyBvdXIgQWNjZXB0YWJsZSBVc2UgUG9saWN5IG9yIFRlcm1zIE9mIFNlcnZpY2UsIG9yIG90aGVyIHVzZXIgcG9saWNpZXM7IHRvIG9wZXJhdGUgdGhlIFNlcnZpY2VzIHByb3Blcmx5OyBvciB0byBwcm90ZWN0IHRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgYW5kIG91ciBNZW1iZXJzLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5Ob3RpY2Ugb2YgQ29tcGxpYW5jZSB0byBDYWxpZm9ybmlhIFJlc2lkZW50cyAmbmRhc2g7IFlvdXIgQ2FsaWZvcm5pYSBQcml2YWN5IFJpZ2h0cyBVbmRlciBUaGUgQ2FsaWZvcm5pYSBPbmxpbmUgUHJpdmFjeSBQcm90ZWN0aW9uIEFjdCBhbmQgdGhlIENhbGlmb3JuaWEgQnVzaW5lc3MgYW5kIFByb2Zlc3Npb25zIENvZGU8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+VGhpcyBwcml2YWN5IHBvbGljeSBpZGVudGlmaWVzIHRoZSBjYXRlZ29yaWVzIG9mIHBlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGluZm9ybWF0aW9uIHRoYXQgdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBjb2xsZWN0cyB0aHJvdWdoIG91ciBXZWIgc2l0ZSBvciBvbmxpbmUgc2VydmljZSwgYWJvdXQgaW5kaXZpZHVhbCBjb25zdW1lcnMgd2hvIHVzZSBvciB2aXNpdCB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZJiMzOTtzIGNvbW1lcmNpYWwgV2ViIHNpdGUgb3Igb25saW5lIHNlcnZpY2UgYW5kIHRoZSBjYXRlZ29yaWVzIG9mIHRoaXJkLXBhcnR5IHBlcnNvbnMgb3IgZW50aXRpZXMgd2l0aCB3aG9tIHRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgbWF5IHNoYXJlIHRoYXQgcGVyc29uYWxseSBpZGVudGlmaWFibGUgaW5mb3JtYXRpb24uPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPlRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgZG9lcyBub3QgbWFpbnRhaW4gYSBwcm9jZXNzIGZvciBhbiBpbmRpdmlkdWFsIGNvbnN1bWVyIHdobyB1c2VzIG9yIHZpc2l0cyBvdXIgY29tbWVyY2lhbCBXZWIgc2l0ZSBvciBvbmxpbmUgc2VydmljZSB0byByZXZpZXcgYW5kIHJlcXVlc3QgY2hhbmdlcyB0byBhbnkgb2YgaGlzIG9yIGhlciBwZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiB0aGF0IGlzIGNvbGxlY3RlZCB0aHJvdWdoIG91ciBXZWIgc2l0ZSBvciBvbmxpbmUgc2VydmljZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+U2VlIHRoZSBzZWN0aW9uIGJlbG93IGVudGl0bGVkICZxdW90O1JldmlzaW9ucyBUbyBUaGlzIFBvbGljeSZxdW90OyBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgcHJvY2VzcyBieSB3aGljaCB0aGUgVmlsbGFnZSBvZiBDYW1icmlkZ2UsIE5ZIG5vdGlmaWVzIGNvbnN1bWVycyB3aG8gdXNlIG9yIHZpc2l0IG91ciBjb21tZXJjaWFsIFdlYiBzaXRlIG9yIG9ubGluZSBzZXJ2aWNlIG9mIG1hdGVyaWFsIGNoYW5nZXMgdG8gdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSYjMzk7cyBwcml2YWN5IHBvbGljeSBmb3IgdGhpcyBXZWIgc2l0ZSBvciBvbmxpbmUgc2VydmljZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+VGhlIGVmZmVjdGl2ZSBkYXRlIG9mIHRoaXMgcHJpdmFjeSBwb2xpY3kgaXMgbGlzdGVkIGF0IHRoZSBlbmQgb2YgdGhpcyBwcml2YWN5IHBvbGljeSB1bmRlciB0aGUgaGVhZGluZywgJnF1b3Q7TGFzdCB1cGRhdGVkLiZxdW90OzwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5Gb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgcG9saWN5IGFuZCBDYWxpZm9ybmlhIGNvbXBsaWFuY2UgdGhlIGZvbGxvd2luZyBkZWZpbml0aW9ucyBhcHBseTo8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+RGVwZW5kaW5nIG9uIHRoZSB2aXNpdG9yJiMzOTtzIGFjdGl2aXR5LCBpbiBvdXIgY29tbWVyY2lhbCBXZWIgc2l0ZSBvciBvbmxpbmUgc2VydmljZSwgdGhlIGZvbGxvd2luZyAmcXVvdDtwZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiZxdW90OyBtYXkgYmUgY29sbGVjdGVkLCBpbiBhZGRpdGlvbiB0byBpbmZvcm1hdGlvbiBzZXQgZm9ydGggaW4gb3RoZXIgc2VjdGlvbnMgb2YgdGhpcyBkb2N1bWVudC48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+VGhlIHRlcm0gJnF1b3Q7cGVyc29uYWxseSBpZGVudGlmaWFibGUgaW5mb3JtYXRpb24mcXVvdDsgbWVhbnMgaW5kaXZpZHVhbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiBhYm91dCBhbiBpbmRpdmlkdWFsIGNvbnN1bWVyIGNvbGxlY3RlZCBvbmxpbmUgYnkgdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBmcm9tIGFuIGluZGl2aWR1YWwgYW5kIG1haW50YWluZWQ8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+YnkgdGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBpbiBhbiBhY2Nlc3NpYmxlIGZvcm0sIGFuZCBtYXkgaW5jbHVkZSBhbnkgb2YgdGhlIGZvbGxvd2luZzo8L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+KDEpIEEgZmlyc3QgYW5kIGxhc3QgbmFtZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+KDIpIEEgaG9tZSBvciBvdGhlciBwaHlzaWNhbCBhZGRyZXNzLCBpbmNsdWRpbmcgc3RyZWV0IG5hbWUgYW5kIG5hbWUgb2YgYSBjaXR5IG9yIHRvd24uPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPigzKSBBbiBlLW1haWwgYWRkcmVzcy48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+KDQpIEEgdGVsZXBob25lIG51bWJlci48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+KDUpIEEgc29jaWFsIHNlY3VyaXR5IG51bWJlci48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+KDYpIEFueSBvdGhlciBpZGVudGlmaWVyIHRoYXQgcGVybWl0cyB0aGUgcGh5c2ljYWwgb3Igb25saW5lIGNvbnRhY3Rpbmcgb2YgYSBzcGVjaWZpYyBpbmRpdmlkdWFsLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj4oNykgSW5mb3JtYXRpb24gY29uY2VybmluZyBhIHVzZXIgdGhhdCB0aGUgV2ViIHNpdGUgb3Igb25saW5lIHNlcnZpY2UgY29sbGVjdHMgb25saW5lLCBmcm9tIHRoZSB1c2VyLCBhbmQgbWFpbnRhaW5zIGluIHBlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGZvcm0sIGluIGNvbWJpbmF0aW9uIHdpdGggYW4gaWRlbnRpZmllciBkZXNjcmliZWQgd2l0aGluIHRoaXMgcHJpdmFjeSBwb2xpY3kuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPlVuZGVyIENhbGlmb3JuaWEgTGF3IFNCIDI3LCBDYWxpZm9ybmlhIHJlc2lkZW50cyBoYXZlIHRoZSByaWdodCB0byByZWNlaXZlLCBvbmNlIGEgeWVhciwgaW5mb3JtYXRpb24gYWJvdXQgdGhpcmQgcGFydGllcyB3aXRoIHdob20gd2UgaGF2ZSBzaGFyZWQgaW5mb3JtYXRpb24gYWJvdXQgeW91IG9yIHlvdXIgZmFtaWx5IGZvciB0aGVpciBtYXJrZXRpbmcgcHVycG9zZXMgZHVyaW5nIHRoZSBwcmV2aW91cyBjYWxlbmRhciB5ZWFyLCBhbmQgYSBkZXNjcmlwdGlvbiBvZiB0aGUgY2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBzaGFyZWQuIFRvIG1ha2Ugc3VjaCBhIHJlcXVlc3QsIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvIGNsZXJrQGNhbWJyaWRnZW55LmdvdiBhbmQgcGxlYXNlIGluY2x1ZGUgdGhlIHBocmFzZSAmcXVvdDtDYWxpZm9ybmlhIFByaXZhY3kgUmVxdWVzdCZxdW90OyBpbiB0aGUgc3ViamVjdCBsaW5lLCB0aGUgZG9tYWluIG5hbWUgb2YgdGhlIFdlYiBzaXRlIHlvdSBhcmUgaW5xdWlyaW5nIGFib3V0LCBhbG9uZyB3aXRoIHlvdXIgbmFtZSwgYWRkcmVzcyBhbmQgZW1haWwgYWRkcmVzcy4gV2Ugd2lsbCByZXNwb25kIHRvIHlvdSB3aXRoaW4gdGhpcnR5IGRheXMgb2YgcmVjZWl2aW5nIHN1Y2ggYSByZXF1ZXN0LjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj4mcXVvdDtDb29raWVzJnF1b3Q7IGFuZCBIb3cgVGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBVc2VzIFRoZW0uIEEgJnF1b3Q7Y29va2llJnF1b3Q7IGlzIGEgc21hbGwgZGF0YSBmaWxlIHRoYXQgY2FuIGJlIHBsYWNlZCBvbiB5b3VyIGhhcmQgZHJpdmUgd2hlbiB5b3UgdmlzaXQgY2VydGFpbiBXZWIgc2l0ZXMuIFRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgbWF5IHVzZSBjb29raWVzIHRvIGNvbGxlY3QsIHN0b3JlLCBhbmQgc29tZXRpbWVzIHRyYWNrIGluZm9ybWF0aW9uIGZvciBwdXJwb3NlcyBzdGF0ZWQgaGVyZWluIGFzIHdlbGwgYXMgZm9yIHN0YXRpc3RpY2FsIHB1cnBvc2VzIHRvIGltcHJvdmUgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyB3ZSBwcm92aWRlIGFuZCB0byBtYW5hZ2Ugb3VyIHRlbGVjb21tdW5pY2F0aW9ucyBuZXR3b3Jrcy48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+QWR2ZXJ0aXNlcnMgYW5kIHBhcnRuZXJzIG1heSBhbHNvIHVzZSB0aGVpciBvd24gY29va2llcy4gV2UgZG8gbm90IGNvbnRyb2wgdXNlIG9mIHRoZXNlIGNvb2tpZXMgYW5kIGV4cHJlc3NseSBkaXNjbGFpbSByZXNwb25zaWJpbGl0eSBmb3IgaW5mb3JtYXRpb24gY29sbGVjdGVkIHRocm91Z2ggdGhlbS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+VGhlIFZpbGxhZ2Ugb2YgQ2FtYnJpZGdlLCBOWSBDb21taXRtZW50IHRvIENoaWxkcmVuJiMzOTtzIFByaXZhY3kuIFByb3RlY3RpbmcgY2hpbGRyZW4mIzM5O3MgcHJpdmFjeSBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB0byB1cy4gSXQgaXMgb3VyIHBvbGljeSB0byBjb21wbHkgd2l0aCB0aGUgQ2hpbGRyZW4mIzM5O3MgT25saW5lIFByaXZhY3kgUHJvdGVjdGlvbiBBY3Qgb2YgMTk5OCBhbmQgYWxsIG90aGVyIGFwcGxpY2FibGUgbGF3cy4gVGhlcmVmb3JlIHdlIHJlc3RyaWN0IG91ciBXZWIgc2l0ZSB0byBwZXJzb25zIGVpZ2h0ZWVuIHllYXJzIG9yIG9sZGVyLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5ZT1UgTVVTVCBCRSBFSUdIVEVFTiAoMTgpIFlFQVJTIE9SIE9MREVSIFRPIEFDQ0VTUyBUSElTIFdFQiBTSVRFLiBJRiBZT1UgQVJFIFVOREVSIEVJR0hURUVOIFlFQVJTIE9GIEFHRSwgWU9VIEFSRSBOT1QgUEVSTUlUVEVEIFRPIEFDQ0VTUyBUSElTIFdFQiBTSVRFIEZPUiBBTlkgUkVBU09OLiBEVUUgVE8gVEhFIEFHRSBSRVNUUklDVElPTlMgRk9SIFVTRSBPRiBUSElTIFdFQiBTSVRFLCBOTyBJTkZPUk1BVElPTiBPQlRBSU5FRCBCWSBUSElTIFdFQiBTSVRFLCBGQUxMUyBXSVRISU4gVEhFIENISUxEUkVOJiMzOTtTIE9OTElORSBQUklWQUNZIFBST1RFQ1RJT04gQUNUIChDT1BQQSkgQU5EIElTIE5PVCBNT05JVE9SRUQgQVMgRE9JTkcgU08uPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPlB1YmxpYyBGb3J1bXM6IFBsZWFzZSByZW1lbWJlciB0aGF0IGFueSBpbmZvcm1hdGlvbiB5b3UgbWF5IGRpc2Nsb3NlIGluIGFueSBNZW1iZXIgRGlyZWN0b3J5LCBvciBvdGhlciBwdWJsaWMgYXJlYXMgb2Ygb3VyIFdlYiBzaXRlcyBvciB0aGUgSW50ZXJuZXQsIGJlY29tZXMgcHVibGljIGluZm9ybWF0aW9uLiBZb3Ugc2hvdWxkIGV4ZXJjaXNlIGNhdXRpb24gd2hlbiBkZWNpZGluZyB0byBkaXNjbG9zZSBwZXJzb25hbCBpbmZvcm1hdGlvbiBpbiB0aGVzZSBwdWJsaWMgYXJlYXMuPC9wPgoKPHAgaGVsdmV0aWNhPSIiIG5ldWU9IiIgc3R5bGU9ImJveC1zaXppbmc6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjQyODVlbTsgbWFyZ2luOiAwcHggMHB4IDFlbTsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IGZvbnQtZmFtaWx5OiBMYXRvLCAiPlRoZSBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkmIzM5O3MgQ29tbWl0bWVudCB0byBEYXRhIFNlY3VyaXR5OiBTZXJ2aWNlcyBhbmQgV2ViIHNpdGVzIHdlIHNwb25zb3IgaGF2ZSBzZWN1cml0eSBtZWFzdXJlcyBpbiBwbGFjZSB0byBwcm90ZWN0IHRoZSBsb3NzLCBtaXN1c2UsIGFuZCBhbHRlcmF0aW9uIG9mIHRoZSBpbmZvcm1hdGlvbiB1bmRlciBvdXIgY29udHJvbC4gV2hpbGUgd2UgbWFrZSBldmVyeSBlZmZvcnQgdG8gZW5zdXJlIHRoZSBpbnRlZ3JpdHkgYW5kIHNlY3VyaXR5IG9mIG91ciBuZXR3b3JrIGFuZCBzeXN0ZW1zLCB3ZSBjYW5ub3QgZ3VhcmFudGVlIHRoYXQgb3VyIHNlY3VyaXR5IG1lYXN1cmVzIHdpbGwgcHJldmVudCB0aGlyZC1wYXJ0eSAmcXVvdDtoYWNrZXJzJnF1b3Q7IGZyb20gaWxsZWdhbGx5IG9idGFpbmluZyB0aGlzIGluZm9ybWF0aW9uLjwvcD4KCjxwIGhlbHZldGljYT0iIiBuZXVlPSIiIHN0eWxlPSJib3gtc2l6aW5nOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS40Mjg1ZW07IG1hcmdpbjogMHB4IDBweCAxZW07IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyBmb250LWZhbWlseTogTGF0bywgIj5XaGVyZSB0byBEaXJlY3QgUXVlc3Rpb25zIGFib3V0IE91ciBQcml2YWN5IFBvbGljeTogSWYgeW91IGhhdmUgYW55IHF1ZXN0aW9ucyBhYm91dCB0aGlzIFByaXZhY3kgUG9saWN5IG9yIHRoZSBwcmFjdGljZXMgZGVzY3JpYmVkIGhlcmVpbiwgeW91IG1heSBjb250YWN0IHVzIHRocm91Z2ggdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgb24gdGhpcyBXZWIgc2l0ZS48L3A+Cgo8cCBoZWx2ZXRpY2E9IiIgbmV1ZT0iIiBzdHlsZT0iYm94LXNpemluZzogaW5oZXJpdDsgbGluZS1oZWlnaHQ6IDEuNDI4NWVtOyBtYXJnaW46IDBweCAwcHggMWVtOyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgZm9udC1mYW1pbHk6IExhdG8sICI+UmV2aXNpb25zIHRvIFRoaXMgUG9saWN5OiBWaWxsYWdlIG9mIENhbWJyaWRnZSwgTlkgcmVzZXJ2ZXMgdGhlIHJpZ2h0IHRvIHJldmlzZSwgYW1lbmQsIG9yIG1vZGlmeSB0aGlzIHBvbGljeSwgb3VyIFRlcm1zIG9mIFNlcnZpY2UgYWdyZWVtZW50LCBhbmQgb3VyIG90aGVyIHBvbGljaWVzIGFuZCBhZ3JlZW1lbnRzIGF0IGFueSB0aW1lIGFuZCBpbiBhbnkgbWFubmVyLCBieSB1cGRhdGluZyB0aGlzIHBvc3RpbmcuIFlvdXIgdXNlIG9mIHRoaXMgc2l0ZSBhZnRlciBzdWNoIGNoYW5nZXMgYXJlIGltcGxlbWVudGVkIGNvbnN0aXR1dGVzIHlvdXIgYWNrbm93bGVkZ2VtZW50IGFuZCBhY2NlcHRhbmNlIG9mIHRoZXNlIGNoYW5nZXMuIFBsZWFzZSBjb25zdWx0IHRoaXMgcHJpdmFjeSBzdGF0ZW1lbnQgcHJpb3IgdG8gZXZlcnkgdXNlIGZvciBhbnkgY2hhbmdlcy48L3A+CjxoaWdobGlnaHQgY2xhc3M9ImNvbXBhbnlFbWFpbFVwZGF0ZSI+Y2xlcmtAY2FtYnJpZGdlbnkuZ292PC9oaWdobGlnaHQ+"}