PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPCEtLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMDUgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCiAqIAogKiBDb250cmlidXRvcnM6CiAqICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIC0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi8uLi9vcmcuZWNsaXBzZS53c3QuZG9jLnVzZXIvY29tbW9uLmNzcyIgLz4KPHRpdGxlPkFkZGluZyBhIG1lc3NhZ2U8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5IGlkPSJ0YWRkbWVzcyI+PGEgbmFtZT0idGFkZG1lc3MiPjwhLS0gLS0+PC9hPgoKPGgxIGNsYXNzPSJ0b3BpY3RpdGxlMSI+QWRkaW5nIGEgbWVzc2FnZTwvaDE+CjxkaXY+PHA+TWVzc2FnZXMgcmVwcmVzZW50IGFuIGFic3RyYWN0IGRlZmluaXRpb24gb2YgdGhlIGRhdGEgYmVpbmcgdHJhbnNtaXR0ZWQuCkEgbWVzc2FnZSBjb25zaXN0cyBvZiBsb2dpY2FsIHBhcnRzLCBlYWNoIG9mIHdoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aCBhIGRlZmluaXRpb24Kd2l0aGluIHNvbWUgdHlwZSBzeXN0ZW0uIFdTREwgbWVzc2FnZXMgYXJlIHRvcCBsZXZlbCBvYmplY3RzIHRoYXQgY2FuIGJlIHJlZmVyZW5jZWQKYnkgYW4gb3BlcmF0aW9uJ3MgaW5wdXQsIG91dHB1dCBhbmQgZmF1bHQgZWxlbWVudHMgKHdpdGhpbiBhIHBvcnQgdHlwZSkuPC9wPgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj48cD5JZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgbWVzc2FnZSBmb3IgeW91ciBpbnB1dCwgb3V0cHV0LCBvcgpmYXVsdCBlbGVtZW50LCBmb2xsb3cgdGhlc2Ugc3RlcHM6ICA8L3A+CjwvZGl2Pgo8b2w+PGxpIGNsYXNzPSJzdGVwZXhwYW5kIj48c3Bhbj5JbiB0aGUgR3JhcGggdmlldywgcmlnaHQtY2xpY2sgeW91ciBpbnB1dCwgb3V0cHV0LCBvciBmYXVsdCBlbGVtZW50CmFuZCBjbGljayAgPHN0cm9uZz5TZXQgTWVzc2FnZS48L3N0cm9uZz48L3NwYW4+PC9saT4KPGxpIGNsYXNzPSJzdGVwZXhwYW5kIj48c3Bhbj5TZWxlY3QgdGhlICA8c3Ryb25nPkNyZWF0ZSBhIG5ldyBtZXNzYWdlPC9zdHJvbmc+IHJhZGlvIGJ1dHRvbi48L3NwYW4+PC9saT4KPGxpIGNsYXNzPSJzdGVwZXhwYW5kIj48c3Bhbj5UeXBlIHRoZSBuYW1lIG9mIHRoZSBtZXNzYWdlIGluIGRpYWxvZy48L3NwYW4+IFRoaXMgbmFtZSBzaG91bGQKYmUgYSB1bmlxdWUgYW1vbmdzdCBhbGwgbWVzc2FnZXMgZGVmaW5lZCB3aXRoaW4gdGhlIGVuY2xvc2luZyBXU0RMIGRvY3VtZW50LgpDbGljayA8c3Ryb25nPk9LPC9zdHJvbmc+LjwvbGk+CjxsaSBjbGFzcz0ic3RlcGV4cGFuZCI+PHNwYW4+VGhlIG5ldyBtZXNzYWdlIHdpbGwgYXBwZWFyIGluIHRoZSBncmFwaCB2aWV3IHdpdGhpbiB0aGUgbWVzc2FnZXMKc2VjdGlvbi48L3NwYW4+IEFuIGxpbmUgc2hvdWxkIGJlIHZpc2libGUgY29ubmVjdGluZyB0aGUgaW5wdXQsIG91dHB1dApvciBmYXVsdCB3aXRoIHRoZSBtZXNzYWdlLjwvbGk+Cjwvb2w+CjxkaXYgY2xhc3M9InNlY3Rpb24iPjxwPiA8c3Ryb25nPk5vdGU8L3N0cm9uZz46IE1lc3NhZ2VzIGFyZSByZWZlcmVuY2VkIHdpdGhpbiBhIHBvcnQgdHlwZSAoc3BlY2lmaWNhbGx5CmJ5IGFuIG9wZXJhdGlvbidzIGlucHV0LCBvdXRwdXQgYW5kIGZhdWx0IG9iamVjdHMpLiBUaGUgaW5wdXQsIG91dHB1dCBhbmQKZmF1bHQgb2JqZWN0cyB3aXRoaW4gYSBiaW5kaW5nIGRvIG5vdCByZWZlcmVuY2UgbWVzc2FnZXMuIEhlbmNlIHlvdSBjYW5ub3QKY3JlYXRlIGEgbmV3IG1lc3NhZ2UgYnkgcmlnaHQgY2xpY2tpbmcgb24gYSBpbnB1dCwgb3V0cHV0LCBvciBmYXVsdCB3aXRoaW4KYSBiaW5kaW5nICh0aGVzZSBhcmUgYWxzbyBrbm93biBhcyBiaW5kaW5nIGlucHV0LCBiaW5kaW5nIG91dHB1dCBhbmQgYmluZGluZwpmYXVsdHMpLjwvcD4KPHA+IDxzdHJvbmc+VGlwPC9zdHJvbmc+OiBZb3UgY2FuIGFsc28gY3JlYXRlIGEgbmV3IG1lc3NhZ2UgZm9yIHlvdXIgaW5wdXQsCm91dHB1dCwgb3IgZmF1bHQgZWxlbWVudCB1c2luZyB0aGUgT3V0bGluZSB2aWV3LiBVbmRlciB0aGUgIDxzdHJvbmc+UG9ydCBUeXBlczwvc3Ryb25nPiAKZm9sZGVyLCByaWdodC1jbGljayB5b3VyIGVsZW1lbnQgYW5kIGNsaWNrICA8c3Ryb25nPlNldCBNZXNzYWdlICZndDsgQ3JlYXRlIGEgbmV3Cm1lc3NhZ2U8L3N0cm9uZz4uIFlvdXIgbWVzc2FnZSB3aWxsIGFwcGVhciBpbiB0aGUgT3V0bGluZSB2aWV3IHVuZGVyIHRoZSAgPHN0cm9uZz5NZXNzYWdlczwvc3Ryb25nPiBmb2xkZXIuoDwvcD4KPHA+SWYKeW91IHdhbnQgdG8gcmV1c2UgYSBtZXNzYWdlIGZvciB5b3VyIGlucHV0LCBvdXRwdXQsIG9yIGZhdWx0IGVsZW1lbnQsIGZvbGxvdwp0aGVzZSBzdGVwczogIDwvcD4KPG9sPjxsaT5JbiB0aGUgR3JhcGggdmlldywgcmlnaHQtY2xpY2sgeW91ciBpbnB1dCwgb3V0cHV0LCBvciBmYXVsdCBlbGVtZW50IGFuZApjbGljayAgPHN0cm9uZz5TZXQgTWVzc2FnZS48L3N0cm9uZz48L2xpPgo8bGk+UHJlc3MgdGhlICA8c3BhbiBjbGFzcz0idWljb250cm9sIj5TZWxlY3QgYW4gZXhpc3RpbmcgbWVzc2FnZTwvc3Bhbj4gcmFkaW8gYnV0dG9uLjwvbGk+CjxsaT5UaGUgZXhpc3RpbmcgbWVzc2FnZXMgd2lsbCBiZSBsaXN0ZWQuIFNlbGVjdCBvbmUgYW5kIGNsaWNrICA8c3Ryb25nPkZpbmlzaDwvc3Ryb25nPi48L2xpPgo8L29sPgo8cD5JZiB5b3Ugd2FudCB0byBpbXBvcnQgYW4gZXhpc3RpbmcgbWVzc2FnZSBmb3IgeW91ciBpbnB1dCwgb3V0cHV0LApvciBmYXVsdCBlbGVtZW50LCBmb2xsb3cgdGhlc2Ugc3RlcHM6PC9wPgo8b2w+PGxpPkluIHRoZSBHcmFwaCB2aWV3LCByaWdodC1jbGljayB5b3VyIGlucHV0LCBvdXRwdXQsIG9yIGZhdWx0IGVsZW1lbnQgYW5kCmNsaWNrICA8c3Ryb25nPlNldCBNZXNzYWdlLjwvc3Ryb25nPjwvbGk+CjxsaT5TZWxlY3QgdGhlICA8c3Ryb25nPkltcG9ydCBtZXNzYWdlIGZyb20gYSBmaWxlPC9zdHJvbmc+IGNoZWNrIGJveC4gQ2xpY2sgIDxzdHJvbmc+QnJvd3NlPC9zdHJvbmc+LjwvbGk+CjxsaT5TZWxlY3QgdGhlIGZpbGUgdGhhdCBjb250YWlucyB0aGUgbWVzc2FnZSB5b3Ugd2FudCB0byB1c2UuIENsaWNrICA8c3Ryb25nPk9LPC9zdHJvbmc+LjwvbGk+CjxsaT5UaGUgbWVzc2FnZXMgaW4gdGhlIGZpbGUgd2lsbCBiZSBsaXN0ZWQuIFNlbGVjdCBvbmUgYW5kIGNsaWNrICA8c3Ryb25nPkZpbmlzaDwvc3Ryb25nPi48L2xpPgo8L29sPgo8cD5Zb3UgY2FuIG5vdyBhZGQgcGFydHMgdG8geW91ciBtZXNzYWdlLiBQYXJ0cyBhcmUgYSBmbGV4aWJsZSBtZWNoYW5pc20KZm9yIGRlc2NyaWJpbmcgdGhlIGxvZ2ljYWwgYWJzdHJhY3QgY29udGVudCBvZiBhIG1lc3NhZ2UuPC9wPgo8L2Rpdj4KPC9kaXY+CjxkaXY+CjxkaXYgY2xhc3M9ImZhbWlseWxpbmtzIj4KPGRpdiBjbGFzcz0icGFyZW50bGluayI+PHN0cm9uZz5QYXJlbnQgdG9waWM6PC9zdHJvbmc+IDxhIGhyZWY9Ii4uL3Rhc2tzL3RlZHR3c2RsLmh0bWwiIHRpdGxlPSJPbmNlIHlvdSBoYXZlIGNyZWF0ZWQgYSBXU0RMIGZpbGUsIHlvdSBjYW4gZWRpdCBpdCBpbiB0aGUgV1NETCBlZGl0b3IuIFlvdSBjYW4gYWxzbyBpbXBvcnQgV1NETCBmaWxlcyB5b3UgaGF2ZSBjcmVhdGVkIG91dHNpZGUgUmF0aW9uYWwgRGV2ZWxvcGVyIHByb2R1Y3RzIGludG8gdGhlIHdvcmtiZW5jaCBhbmQgZWRpdCB0aGVtIGluIHRoZSBXU0RMIGVkaXRvci4iPkVkaXRpbmcgV1NETCBmaWxlczwvYT48L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJsaW5rbGlzdCI+PHN0cm9uZz5SZWxhdGVkIGNvbmNlcHRzPC9zdHJvbmc+PGJyIC8+Cgo8ZGl2PjxhIGhyZWY9Ii4uL2NvbmNlcHRzL2N3c2RsZWQuaHRtbCIgdGl0bGU9IlRoZSBXU0RMIGVkaXRvciBhbGxvd3MgeW91IHRvIGVhc2lseSBhbmQgZ3JhcGhpY2FsbHkgY3JlYXRlLCBtb2RpZnksIHZpZXcsIGFuZCB2YWxpZGF0ZSBXU0RMIGZpbGVzLiI+RWRpdGluZyBXU0RMIGZpbGVzIHdpdGggdGhlIFdTREwgRWRpdG9yPC9hPjwvZGl2PjwvZGl2PgoKPGRpdiBjbGFzcz0ibGlua2xpc3QiPjxzdHJvbmc+UmVsYXRlZCB0YXNrczwvc3Ryb25nPjxiciAvPgoKPGRpdj48YSBocmVmPSJ0Y3J0d3NkbC5odG1sIiB0aXRsZT0iWW91IGNhbiBjcmVhdGUgYSBuZXcsIGVtcHR5IFdTREwgZmlsZSwgdGhlbiBlZGl0IGl0IHVzaW5nIHRoZSBXU0RMIGVkaXRvci4iPkNyZWF0aW5nIGEgbmV3IFdTREwgZmlsZTwvYT48L2Rpdj4KPGRpdj48YSBocmVmPSJ0ZWR0d3NkbC5odG1sIiB0aXRsZT0iT25jZSB5b3UgaGF2ZSBjcmVhdGVkIGEgV1NETCBmaWxlLCB5b3UgY2FuIGVkaXQgaXQgaW4gdGhlIFdTREwgZWRpdG9yLiBZb3UgY2FuIGFsc28gaW1wb3J0IFdTREwgZmlsZXMgeW91IGhhdmUgY3JlYXRlZCBvdXRzaWRlIFJhdGlvbmFsIERldmVsb3BlciBwcm9kdWN0cyBpbnRvIHRoZSB3b3JrYmVuY2ggYW5kIGVkaXQgdGhlbSBpbiB0aGUgV1NETCBlZGl0b3IuIj5FZGl0aW5nIFdTREwgZmlsZXM8L2E+PC9kaXY+PC9kaXY+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4=