PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPCEtLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMDUgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCiAqIAogKiBDb250cmlidXRvcnM6CiAqICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIC0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi8uLi9vcmcuZWNsaXBzZS53c3QuZG9jLnVzZXIvY29tbW9uLmNzcyIgLz4KPHRpdGxlPlRoZSBXZWIgZGVwbG95bWVudCBkZXNjcmlwdG9yIGVkaXRvcjwvdGl0bGU+CjwvaGVhZD4KPGJvZHkgaWQ9ImNjd2VieG1sIj48YSBuYW1lPSJjY3dlYnhtbCI+PCEtLSAtLT48L2E+Cgo8aDEgY2xhc3M9InRvcGljdGl0bGUxIj5UaGUgV2ViIGRlcGxveW1lbnQgZGVzY3JpcHRvciBlZGl0b3I8L2gxPgo8ZGl2PjxwPlRoZSBXZWIgZGVwbG95bWVudCBkZXNjcmlwdG9yIGVkaXRvciBsZXRzIHlvdSBzcGVjaWZ5IGRlcGxveW1lbnQgaW5mb3JtYXRpb24KCmZvciBtb2R1bGVzIGNyZWF0ZWQgaW4gdGhlIFdlYiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC4gVGhlIGluZm9ybWF0aW9uIGFwcGVhcnMKCmluIHRoZSB3ZWIueG1sIGZpbGUuIE5vdGUgdGhhdCB5b3UgdXNlIHRoZSBXZWIgZGVwbG95bWVudCBkZXNjcmlwdG9yIHRvIHNldAoKZGVwbG95bWVudCBkZXNjcmlwdG9yIGF0dHJpYnV0ZXMuIFlvdSBkbyBub3QgdXNlIGl0IHRvIG1hbmlwdWxhdGUgV2ViIHJlc291cmNlCgpjb250ZW50LiA8L3A+CjxwPlRoZSB3ZWIueG1sIGZpbGUgZm9yIGEgV2ViIHByb2plY3QgcHJvdmlkZXMgaW5mb3JtYXRpb24gbmVjZXNzYXJ5IGZvciBkZXBsb3lpbmcKCmEgV2ViIGFwcGxpY2F0aW9uIG1vZHVsZS4gSXQgaXMgdXNlZCBpbiBidWlsZGluZyBhIFdBUiBmaWxlIGZyb20gYSBwcm9qZWN0LgoKV2hlbmV2ZXIgeW91IGNyZWF0ZSBhIG5ldyBXZWIgcHJvamVjdCwgYSBtaW5pbWFsIHdlYi54bWwgZmlsZSBpcyBhdXRvbWF0aWNhbGx5CgpjcmVhdGVkIGluIFdFQi1JTkYgdW5kZXIgdGhlIHByb2plY3QncyBXZWIgY29udGVudCBmb2xkZXIuPC9wPgo8ZGl2IGNsYXNzPSJwIj5UaGUgV2ViIGRlcGxveW1lbnQgZGVzY3JpcHRvciBlZGl0b3IgaXMgZHluYW1pYyBhbmQgaW5jbHVkZXMgbWFueSB0YWJiZWQKCnBhZ2VzICh2aWV3cykgdGhhdCByZXByZXNlbnQgdmFyaW91cyBwcm9wZXJ0aWVzIGFuZCBzZXR0aW5ncyBpbiB0aGUgZGVwbG95bWVudAoKZGVzY3JpcHRvci4gRm9yIGV4YW1wbGUsIHlvdSBjYW4gY2xpY2sgdGhlIFNlcnZsZXRzIHRhYiB0byBkaXNwbGF5IHRoZSBTZXJ2bGV0cwoKcGFnZSwgaW4gd2hpY2ggeW91IGNhbiBhZGQgb3IgcmVtb3ZlIHNlcnZsZXRzIGFuZCBKU1BzIHRoYXQgYXJlIHVzZWQgaW4gdGhlCgpXZWIgYXBwbGljYXRpb24uIFRoZSBXZWIgZGVwbG95bWVudCBkZXNjcmlwdG9yIGVkaXRvciBpbmNsdWRlcyB0aGUgZm9sbG93aW5nCgp0YWJiZWQgcGFnZXM6ICA8dWw+PGxpPjxiPk92ZXJ2aWV3PC9iPiAtIHByb3ZpZGVzIGEgcXVpY2sgc3VtbWFyeSBvZiB0aGUgY29udGVudHMgaW4gdGhlIFdlYgoKZGVwbG95bWVudCBkZXNjcmlwdG9yIGFuZCBsZXRzIHlvdSBhZGQsIHJlbW92ZSwgb3IgY2hhbmdlIHRoZSBjb250ZW50cy48cD48L3A+CjxwPjwvcD4KPC9saT4KPGxpPjxiPlNlcnZsZXRzPC9iPiAtIGxldHMgeW91IGNyZWF0ZSBhIG5ldyBzZXJ2bGV0LCBhZGQgYW4gZXhpc3Rpbmcgc2VydmxldAoKb3IgSlNQIGZpbGUgdG8gdGhlIGRlcGxveW1lbnQgZGVzY3JpcHRvciwgb3IgcmVtb3ZlIHRoZSBzZWxlY3RlZCBzZXJ2bGV0IG9mCgpKU1AgZmlsZSBmcm9tIHRoZSBkZXBsb3ltZW50IGRlc2NyaXB0b3IuPHA+PC9wPgo8L2xpPgo8bGk+PGI+RmlsdGVyczwvYj4gLSBsZXRzIHlvdSBjcmVhdGUgYSBuZXcgZmlsdGVyLCBhZGQgYW4gZXhpc3RpbmcgZmlsdGVyCgp0byB0aGUgZGVwbG95bWVudCBkZXNjcmlwdG9yLCBvciByZW1vdmUgdGhlIHNlbGVjdGVkIGZpbHRlciBmcm9tIHRoZSBkZXBsb3ltZW50CgpkZXNjcmlwdG9yLjxwPjwvcD4KPC9saT4KPGxpPjxiPlNlY3VyaXR5PC9iPiAtIGxldHMgeW91IGRlZmluZSBzZWN1cml0eSByb2xlcyBhbmQgc2VjdXJpdHkgY29uc3RyYWludHMuPHA+PC9wPgo8L2xpPgo8bGk+PGI+UmVmZXJlbmNlczwvYj4gLSBsZXRzIHlvdSBhZGQgb3IgcmVtb3ZlIHJlZmVyZW5jZXMgdG8gdGhlIGRlcGxveW1lbnQKCmRlc2NyaXB0b3IuIFRoZSBmb2xsb3dpbmcgYXJlIHRoZSB0eXBlcyBvZiByZWZlcmVuY2VzIHlvdSBjYW4gZGVmaW5lIG9uIHRoaXMKCnBhZ2U6ICA8dWw+PGxpPkVKQiByZWZlcmVuY2UgLSBjcmVhdGUgYSByZWZlcmVuY2UgdG8gYW4gZW50ZXJwcmlzZSBiZWFuLjxwPjwvcD4KPC9saT4KPGxpPlNlcnZpY2UgcmVmZXJlbmNlIC0gY3JlYXRlIGEgcmVmZXJlbmNlIHRvIGEgV2ViIHNlcnZpY2U8L2xpPgo8bGk+UmVzb3VyY2UgcmVmZXJlbmNlIC0gY3JlYXRlIGEgcmVmZXJlbmNlIHRvIGFuIGV4dGVybmFsIHJlc291cmNlPC9saT4KPGxpPlJlc291cmNlIEVudmlyb25tZW50IHJlZmVyZW5jZSAtIGNyZWF0ZSBhIHJlZmVyZW5jZSB0byBhZG1pbmlzdGVyZWQgb2JqZWN0cy48L2xpPgo8bGk+SlNQIFRhZyBMaWJyYXJ5PC9saT4KPC91bD4KPHA+PC9wPgo8L2xpPgo8bGk+PGI+V1MgSGFuZGxlcjwvYj4gLSBsZXRzIHlvdSBhZGQgYW5kIGNvbmZpZ3VyZSBoYW5kbGVycyBmb3IgYSBzZWxlY3RlZAoKcG9ydCBjb21wb25lbnQuIFRoaXMgaW5jbHVkZXMgc3BlY2lmeWluZyBhIGhhbmRsZXIgZGVzY3JpcHRpb24gYW5kIGRpc3BsYXkKCm5hbWUsIHNwZWNpZnlpbmcgaW1wbGVtZW50YXRpb24gZGV0YWlscywgYWRkaW5nIGluaXRpYWwgcGFyYW1ldGVycywgYW5kIGFkZGluZwoKU09BUCBoZWFkZXJzLiA8cD48L3A+CjwvbGk+CjxsaT48Yj5QYWdlczwvYj4gLSBsZXRzIHlvdSBhZGQgb3IgcmVtb3ZlIHdlbGNvbWUgYW5kIGVycm9yIHBhZ2VzIHRvIHRoZSBkZXBsb3ltZW50CgpkZXNjcmlwdG9yLiBBbHNvIGFsbG93cyB5b3UgdG8gZGVmaW5lIHRoZSBsb2dpbi1jb25maWcgZWxlbWVudCBhbmQgYWRkIGV4Y2VwdGlvbgoKdHlwZXMgdG8gZXJyb3IgcGFnZXMuPHA+PC9wPgo8L2xpPgo8bGk+PGI+VmFyaWFibGVzPC9iPiAtIGxldHMgeW91IGFkZCBvciByZW1vdmUgbGlzdGVuZXJzLCBlbnZpcm9ubWVudCB2YXJpYWJsZXMsCgp0YWcgbGliIHJlZmVyZW5jZXMsIGNvbnRleHQgcGFyYW1ldGVycyBhbmQgTUlNRSBNYXBwaW5ncy48cD48L3A+CjwvbGk+CjxsaT48Yj5XUyBFeHRlbnNpb25zPC9iPiBhbmQgPGI+V1MgQmluZGluZ3M8L2I+IC0gVGhlc2UgcGFnZXMsIHdoaWNoIGFwcGVhcgoKb25seSBpZiB5b3UgaGF2ZSBjcmVhdGVkIGEgV2ViIHNlcnZpY2UsIGxldCB5b3UgY29uZmlndXJlIGV4dGVuc2lvbiBhbmQgYmluZGluZwoKaW5mb3JtYXRpb24gZm9yIHRoZSBXZWIgc2VydmljZS48cD48L3A+CjwvbGk+CjxsaT48Yj5FeHRlbnNpb25zPC9iPiAtIGxldHMgeW91IHNwZWNpZnkgc2V0dGluZ3MgZm9yIFdlYlNwaGVyZTxzdXA+rjwvc3VwPiBleHRlbnNpb25zCgooc3VjaCBhcyBlbmFibGluZyByZWxvYWRpbmcpLiBPdGhlciBzZXR0aW5ncyBpbmNsdWRlIE1JTUUgZmlsdGVycywgSlNQIGF0dHJpYnV0ZXMsCgpmaWxlIHNlcnZpbmcgYXR0cmlidXRlcywgaW52b2tlciBhdHRyaWJ1dGVzLCBhbmQgc2VydmxldCBjYWNoaW5nIGNvbmZpZ3VyYXRpb25zLiA8cD48L3A+CjwvbGk+CjxsaT48Yj5Tb3VyY2U8L2I+IC0gbGV0cyB5b3UgZWRpdCB0aGUgd2ViLnhtbCBzb3VyY2UgZGlyZWN0bHkuPHA+PC9wPgo8L2xpPgo8L3VsPgo8L2Rpdj4KPGRpdiBjbGFzcz0icCI+QWx0aG91Z2ggeW91IGNhbiBlZGl0IHdlYi54bWwgZGlyZWN0bHksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBlZGl0IHRoZQoKbXVsdGlwbGUgdGFiYmVkIHBhZ2VzIGluIHRoZSBXZWIgRGVwbG95bWVudCBEZXNjcmlwdG9yIGVkaXRvci4gQXMgeW91IHNwZWNpZnkKCmRlcGxveW1lbnQgaW5mb3JtYXRpb24gaW4gdGhlc2UgdGFiYmVkIHBhZ2VzLCB0aGUgZWRpdG9yIGF1dG9tYXRpY2FsbHkgaW5jb3Jwb3JhdGVzCgp0aGUgYXBwcm9wcmlhdGUgWE1MIHRhZ2dpbmcgaW4gd2ViLnhtbCAob3IgaW4gdGhlIGFwcHJvcHJpYXRlIC54bWkgZmlsZSkuIDxwPjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InAiPkluIGFkZGl0aW9uIHRvIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGluIHRoZSB3ZWIueG1sIGZpbGUsIG90aGVyCgpkZXBsb3ltZW50IGRlc2NyaXB0b3JzIGluIGEgV2ViIHByb2plY3QgaW5jbHVkZSB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOiA8dWw+PGxpPkJpbmRpbmcgaW5mb3JtYXRpb24gLSAgaW5mb3JtYXRpb24gaXMgcmVxdWlyZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHNlcnZlcgoKdG8gYmluZCB0aGUgZGVwbG95bWVudCBpbmZvcm1hdGlvbiBzcGVjaWZpZWQgaW4gdGhlIGFwcGxpY2F0aW9uIHRvIGEgc3BlY2lmaWMKCmluc3RhbmNlLiBGb3IgZXhhbXBsZSwgaXQgbWF5IG1hcCBhIGxvZ2ljYWwgbmFtZSBvZiBhbiBleHRlcm5hbCBkZXBlbmRlbmN5CgpvciByZXNvdXJjZSB0byB0aGUgYWN0dWFsIHBoeXNpY2FsIEpOREkgbmFtZSBvZiB0aGUgcmVzb3VyY2UuIEl0IGFsc28gbWF5CgptYXAgc2VjdXJpdHkgcm9sZSBpbmZvcm1hdGlvbiB0byBhIHNldCBvZiBncm91cHMgb3IgdXNlcnMuPHA+PC9wPgo8L2xpPgo8bGk+SUJNPHN1cD6uPC9zdXA+IGJpbmRpbmcKCmFuZCBleHRlbnNpb25zIGluZm9ybWF0aW9uIChpYm0td2ViLWJuZC54bWkgYW5kIGlibS13ZWItZXh0LnhtaSBmaWxlcykgLSBhZGRpdGlvbnMKCnRvIHRoZSBzdGFuZGFyZCBkZXNjcmlwdG9ycyBmb3IgSjJFRSBhcHBsaWNhdGlvbnMsIFdlYiBhcHBsaWNhdGlvbnMsIGFuZCBlbnRlcnByaXNlCgpiZWFucy4gVGhlIGV4dGVuc2lvbnMgZW5hYmxlIEVudGVycHJpc2UgRWRpdGlvbiBvciBsZWdhY3kgKG9sZGVyKSBzeXN0ZW1zCgp0byB3b3JrIGluIHRoZSBjdXJyZW50IFdlYlNwaGVyZSBBcHBsaWNhdGlvbiBTZXJ2ZXIgZW52aXJvbm1lbnQuCgpUaGV5IGFyZSBhbHNvIHVzZWQgdG8gc3BlY2lmeSBhcHBsaWNhdGlvbiBiZWhhdmlvciB0aGF0IGlzIHZlbmRvci1zcGVjaWZpYywKCnVuZGVmaW5lZCBpbiBhIGN1cnJlbnQgc3BlY2lmaWNhdGlvbiwgb3IgZXhwZWN0ZWQgdG8gYmUgaW5jbHVkZWQgaW4gYSBmdXR1cmUKCnNwZWNpZmljYXRpb24uIDxwPjwvcD4KPC9saT4KPC91bD4KSWYgeW91IGltcG9ydCBhIFdBUiBmaWxlIGludG8gYW4gZXhpc3RpbmcgV2ViIHByb2plY3QsIHlvdQoKY2FuIGluY2x1ZGUgdGhlIGRlcGxveW1lbnQgZGVzY3JpcHRvciBmaWxlcyBpbmNsdWRlZCBpbiB0aGUgV0FSIGZpbGUgYXMgdGhlCgpXZWIgcHJvamVjdCdzIG5ldyBkZXBsb3ltZW50IGRlc2NyaXB0b3IuIEFueSBzcGVjaWZpYyBkZXBsb3ltZW50IGluZm9ybWF0aW9uCgphbHJlYWR5IGRlZmluZWQgaW4gdGhlc2UgZmlsZXMgaXMgdXNlZCB3aGVuIGRlcGxveWluZyB0aGUgdXBkYXRlZCBXZWIgYXBwbGljYXRpb24uPC9kaXY+CjxwPlRoZSB3ZWIueG1sIGZpbGUgY2FuIGJlIHVwZGF0ZWQgYXV0b21hdGljYWxseSB0byByZWZsZWN0IGNoYW5nZXMgdG8geW91cgoKV2ViIHByb2plY3QuIEZvciBpbnN0YW5jZSwgd2hlbiB5b3UgdXNlIHRoZSBOZXcgU2VydmxldCB3aXphcmQgdG8gY3JlYXRlIGEKCm5ldyBzZXJ2bGV0IGluIGEgV2ViIHByb2plY3QsIHRoZSB3aXphcmQgcGxhY2VzIHRoZSBhcHByb3ByaWF0ZSBzZXJ2bGV0IGVudHJ5CgppbnRvIHRoZSB3ZWIueG1sIGZpbGUuPC9wPgo8L2Rpdj4KPGRpdj48cD48YiBjbGFzcz0icmVsY29uY2VwdHNoZCI+UmVsYXRlZCBjb25jZXB0czwvYj48YnIgLz4KPGEgaHJlZj0iY3dlYnByb2plY3RzLmh0bWwiPldlYiBwcm9qZWN0czwvYT48YnIgLz4KPGEgaHJlZj0iY2N3dG92ZXIuaHRtbCI+V2ViIGFwcGxpY2F0aW9uIG92ZXJ2aWV3PC9hPjxiciAvPgo8YSBocmVmPSJjd3NlcnZibi5odG1sIj5TZXJ2bGV0czwvYT48YnIgLz4KPGEgaHJlZj0iY3BkanNwcy5odG1sIj5KYXZhU2VydmVyIFBhZ2VzIChKU1ApIHRlY2hub2xvZ3k8L2E+PGJyIC8+CjwvcD4KPHA+PGIgY2xhc3M9InJlbHRhc2tzaGQiPlJlbGF0ZWQgdGFza3M8L2I+PGJyIC8+CjxhIGhyZWY9InR3ZWR0d2J4Lmh0bWwiIHRpdGxlPSIiPkNvbmZpZ3VyaW5nIFdlYiBhcHBsaWNhdGlvbnMgdXNpbmcgdGhlIFdlYiBkZXBsb3ltZW50IGRlc2NyaXB0b3IgZWRpdG9yPC9hPjxiciAvPgo8YSBocmVmPSJ0d3Nydndpei5odG1sIiB0aXRsZT0iIj5DcmVhdGluZyBzZXJ2bGV0czwvYT48YnIgLz4KPGEgaHJlZj0idHdpbXB3YXIuaHRtbCIgdGl0bGU9IiI+SW1wb3J0aW5nIFdlYiBhcmNoaXZlIChXQVIpIGZpbGVzPC9hPjxiciAvPgo8L3A+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4=