Co-star Ralph Brown talks to us about his memories of starring in 1992’s Alien 3, working with David Fincher, clashes with Sigourney Weaver, and its lengthy shoot.
This article first appeared in Film Stories issue #50.
Francis Aaron wasn’t supposed to die. Or at least, that’s what British actor Ralph Brown thought when he first signed up for the role in Alien 3. A 30-something actor who’d been busy in film, TV and on stage since the early 1980s, Brown was a fan of Alien – Ridley Scott’s 1979 sci-fi horror – so when he was invited to audition for the second sequel in late 1990, he was excited at the possibility of landing a part.
Via his agent, Michael Foster, Brown had heard a few things about the otherwise secretive project that had been in development for around four years at 20th Century Fox. Mainly, that it was supposed to be set in some form of off-world penal colony. On learning this, Brown decided to get a haircut.
“When I discovered that Alien 3 was set in a prison,” Brown tells us, “I went to my favourite barber’s shop in Soho – which was called Fish on D’Arblay Street – and they gave me a number four [buzz cut]. It isn’t a skinhead, but it’s not long by any means.”
PGRpdiBjbGFzcz0iYWRkdG9hbnlfc2hhcmVfc2F2ZV9jb250YWluZXIgYWRkdG9hbnlfY29udGVudCBhZGR0b2FueV9jb250ZW50X3RvcCI+PGRpdiBjbGFzcz0iYWRkdG9hbnlfaGVhZGVyIj5TaGFyZSB0aGlzIEFydGljbGU6PC9kaXY+PGRpdiBjbGFzcz0iYTJhX2tpdCBhMmFfa2l0X3NpemVfMzIgYWRkdG9hbnlfbGlzdCIgZGF0YS1hMmEtdXJsPSJodHRwczovL3N0YWdpbmcuZmlsbXN0b3JpZXMuY28udWsvZmVhdHVyZXMvY3Jldy1leHBlbmRhYmxlLXRoZS1tYWtpbmctb2YtYWxpZW4tMy8iIGRhdGEtYTJhLXRpdGxlPSJDcmV3IEV4cGVuZGFibGU6IFRoZSBtYWtpbmcgb2YgQWxpZW4gMyI+PGEgY2xhc3M9ImEyYV9idXR0b25fZmFjZWJvb2siIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZmFjZWJvb2s/bGlua3VybD1odHRwcyUzQSUyRiUyRnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRmNyZXctZXhwZW5kYWJsZS10aGUtbWFraW5nLW9mLWFsaWVuLTMlMkYmYW1wO2xpbmtuYW1lPUNyZXclMjBFeHBlbmRhYmxlJTNBJTIwVGhlJTIwbWFraW5nJTIwb2YlMjBBbGllbiUyMDMiIHRpdGxlPSJGYWNlYm9vayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2J1dHRvbl90d2l0dGVyIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL3R3aXR0ZXI/bGlua3VybD1odHRwcyUzQSUyRiUyRnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRmNyZXctZXhwZW5kYWJsZS10aGUtbWFraW5nLW9mLWFsaWVuLTMlMkYmYW1wO2xpbmtuYW1lPUNyZXclMjBFeHBlbmRhYmxlJTNBJTIwVGhlJTIwbWFraW5nJTIwb2YlMjBBbGllbiUyMDMiIHRpdGxlPSJUd2l0dGVyIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2VtYWlsIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2VtYWlsP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZzdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZjcmV3LWV4cGVuZGFibGUtdGhlLW1ha2luZy1vZi1hbGllbi0zJTJGJmFtcDtsaW5rbmFtZT1DcmV3JTIwRXhwZW5kYWJsZSUzQSUyMFRoZSUyMG1ha2luZyUyMG9mJTIwQWxpZW4lMjAzIiB0aXRsZT0iRW1haWwiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9kZCBhZGR0b2FueV9zaGFyZV9zYXZlIGFkZHRvYW55X3NoYXJlIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vc2hhcmUiPjwvYT48L2Rpdj48L2Rpdj4KPHA+PHN0cm9uZz5Dby1zdGFyIFJhbHBoIEJyb3duIHRhbGtzIHRvIHVzIGFib3V0IGhpcyBtZW1vcmllcyBvZiBzdGFycmluZyBpbiAxOTky4oCZcyBBbGllbiAzLCB3b3JraW5nIHdpdGggRGF2aWQgRmluY2hlciwgY2xhc2hlcyB3aXRoIFNpZ291cm5leSBXZWF2ZXIsIGFuZCBpdHMgbGVuZ3RoeSBzaG9vdC48L3N0cm9uZz48L3A+CgoKCjxociBjbGFzcz0id3AtYmxvY2stc2VwYXJhdG9yIGhhcy1hbHBoYS1jaGFubmVsLW9wYWNpdHkiLz4KCgoKPHA+PGVtPlRoaXMgYXJ0aWNsZSBmaXJzdCBhcHBlYXJlZCBpbiBGaWxtIFN0b3JpZXMgaXNzdWUgIzUwLjwvZW0+PC9wPgoKCgo8cD5GcmFuY2lzIEFhcm9uIHdhc27igJl0IHN1cHBvc2VkIHRvIGRpZS4gT3IgYXQgbGVhc3QsIHRoYXTigJlzIHdoYXQgQnJpdGlzaCBhY3RvciBSYWxwaCBCcm93biB0aG91Z2h0IHdoZW4gaGUgZmlyc3Qgc2lnbmVkIHVwIGZvciB0aGUgcm9sZSBpbiA8ZW0+QWxpZW4gMy48L2VtPiBBIDMwLXNvbWV0aGluZyBhY3RvciB3aG/igJlkIGJlZW4gYnVzeSBpbiBmaWxtLCBUViBhbmQgb24gc3RhZ2Ugc2luY2UgdGhlIGVhcmx5IDE5ODBzLCBCcm93biB3YXMgYSBmYW4gb2YgPGVtPkFsaWVuIDwvZW0+4oCTIFJpZGxleSBTY290dOKAmXMgMTk3OSBzY2ktZmkgaG9ycm9yIOKAkyBzbyB3aGVuIGhlIHdhcyBpbnZpdGVkIHRvIGF1ZGl0aW9uIGZvciB0aGUgc2Vjb25kIHNlcXVlbCBpbiBsYXRlIDE5OTAsIGhlIHdhcyBleGNpdGVkIGF0IHRoZSBwb3NzaWJpbGl0eSBvZiBsYW5kaW5nIGEgcGFydC48L3A+CgoKCjxwPlZpYSBoaXMgYWdlbnQsIE1pY2hhZWwgRm9zdGVyLCBCcm93biBoYWQgaGVhcmQgYSBmZXcgdGhpbmdzIGFib3V0IHRoZSBvdGhlcndpc2Ugc2VjcmV0aXZlIHByb2plY3QgdGhhdCBoYWQgYmVlbiBpbiBkZXZlbG9wbWVudCBmb3IgYXJvdW5kIGZvdXIgeWVhcnMgYXQgMjB0aCBDZW50dXJ5IEZveC4gTWFpbmx5LCB0aGF0IGl0IHdhcyBzdXBwb3NlZCB0byBiZSBzZXQgaW4gc29tZSBmb3JtIG9mIG9mZi13b3JsZCBwZW5hbCBjb2xvbnkuIE9uIGxlYXJuaW5nIHRoaXMsIEJyb3duIGRlY2lkZWQgdG8gZ2V0IGEgaGFpcmN1dC48L3A+CgoKCjxwPuKAnFdoZW4gSSBkaXNjb3ZlcmVkIHRoYXQgPGVtPkFsaWVuIDMgPC9lbT53YXMgc2V0IGluIGEgcHJpc29uLOKAnSBCcm93biB0ZWxscyB1cywg4oCcSSB3ZW50IHRvIG15IGZhdm91cml0ZSBiYXJiZXLigJlzIHNob3AgaW4gU29obyDigJMgd2hpY2ggd2FzIGNhbGxlZCBGaXNoIG9uIETigJlBcmJsYXkgU3RyZWV0IOKAkyBhbmQgdGhleSBnYXZlIG1lIGEgbnVtYmVyIGZvdXIgW2J1enogY3V0XS4gSXQgaXNu4oCZdCBhIHNraW5oZWFkLCBidXQgaXTigJlzIG5vdCBsb25nIGJ5IGFueSBtZWFucy7igJ08L3A+CgoKCjxzcGFuIGlkPSJtb3JlLTkzODU4Ij48L3NwYW4+CgoKCjxwPlRoZSBuZXcgbG9vayBkaWRu4oCZdCBwbGVhc2UgdGhlIFJveWFsIFNoYWtlc3BlYXJlIENvbXBhbnkgKGhlIHdhcyBhY3RpbmcgaW4gYSBwbGF5IGNhbGxlZCA8ZW0+RWFyd2lnIDwvZW0+YXQgVGhlIFBpdCB0aGVhdHJlIGF0IHRoZSB0aW1lKSwgYnV0IEJyb3duIG9mdGVuIGxpa2VkIHRvIGdldCBpbnRvIGNoYXJhY3RlciBmb3IgaGlzIGF1ZGl0aW9ucy4gV2hlbiBoZSB3YXMgdXAgZm9yIHRoZSByb2xlIG9mIERhbm55IGluIHdyaXRlci1kaXJlY3RvciBCcnVjZSBSb2JpbnNvbuKAmXMgY3VsdCBjb21lZHkgY2xhc3NpYyBXaXRobmFpbCAmYW1wOyBJLCBCcm93biBzaG93ZWQgdXAgaW4gbmFpbCB2YXJuaXNoIGFuZCBleWVsaW5lci4gUm9iaW5zb24gd2FzIHRha2VuIGFiYWNrLCBidXQgQnJvd24gZ290IHRoZSBqb2IuPC9wPgoKCgo8cD5Ccm93buKAmXMgPGVtPkFsaWVuIDM8L2VtPiBhdWRpdGlvbiB0b29rIHBsYWNlIGF0IFBpbmV3b29kIFN0dWRpb3MsIHdoZXJlIEJyb3duIHdhcyBpbnRyb2R1Y2VkIHRvIHRoZSBmaXJzdC10aW1lIGZpbG1tYWtlciBEYXZpZCBGaW5jaGVyLiBTdGlsbCBpbiBoaXMgMjBzLCBGaW5jaGVyIGhhZCBwcmV2aW91c2x5IG1hZGUgaGlzIG5hbWUgYXMgYSBkaXJlY3RvciBvZiBjb21tZXJjaWFscyBhbmQgbXVzaWMgdmlkZW9zIOKAkyBhbW9uZyB0aGVtIHRoZSBwcm9tbyBmb3IgTWFkb25uYeKAmXMgaGl0IHNpbmdsZSwgVm9ndWUuIEZpbmNoZXIsIGl0IHR1cm5lZCBvdXQsIHdhcyBhIGJpZyBmYW4gb2YgPGVtPldpdGhuYWlsICZhbXA7IEksPC9lbT4gYW5kIGhhZCBpbnZpdGVkIEJyb3duIHRvIGF1ZGl0aW9uIHNwZWNpZmljYWxseSBiZWNhdXNlIGhlIGxvdmVkIGhpcyBwZXJmb3JtYW5jZSBpbiBpdC48L3A+CgoKCjxwPuKAnEkgd2FzIGdpdmVuIHNvbWUgcGFnZXMgdG8gcmVhZCBmb3IgRGF2aWQs4oCdIEJyb3duIHNheXMuIOKAnEV6cmEgU3dlcmRsb3cgWzxlbT5BbGllbiAzPC9lbT7igJlzIGV4ZWN1dGl2ZSBwcm9kdWNlcl0gd2FzIHRoZXJlLiBJIHJlYWQgc29tZSBzY2VuZSBvciBvdGhlciwgSSBjYW7igJl0IHJlbWVtYmVyIHdoYXQgaXQgd2FzLCBidXQgaXQgd2FzbuKAmXQgQWFyb27igKYgd2Ugc2hvb2sgaGFuZHMsIEkgc2FpZCwg4oCYdGhhbmtzIHZlcnkgbXVjaOKAmSBhbmQgd2VudC7igJ08YnI+QWZ0ZXIgQnJvd24gbGVmdCwgU3dlcmRsb3cgc2FpZCB0byBGaW5jaGVyOiDigJxXaGVu4oCZcyB0aGF0IGd1eSBmcm9tIFdpdGhuYWlsIGNvbWluZyBpbiDigJMgdGhlIGRydWcgZGVhbGVyPyBJ4oCZbSBsb29raW5nIGZvcndhcmQgdG8gbWVldGluZyBoaW0u4oCdPC9wPgoKCgo8cD7igJxUaGF0IHdhcyBoaW0s4oCdIEZpbmNoZXIgcmVwbGllZC48L3A+CgoKCjxwPkEgd2VlayBsYXRlciwgRmluY2hlciBjYWxsZWQgQnJvd24gYmFjayBpbiwgcHJlc3NlZCBhIGNvcHkgb2YgdGhlIHNjcmlwdCBpbiBoaXMgaGFuZCBhbmQgc2FpZDog4oCcR28gaG9tZSBhbmQgaGF2ZSBhIHJlYWQuIFRlbGwgbWUgd2hpY2ggcm9sZSB5b3XigJlkIGxpa2UgdG8gcGxheS7igJ08L3A+CgoKCjxwPkJyb3duIGNob3NlIHRoZSBjaGFyYWN0ZXIgb2YgQWFyb24sIHdobyBpbiB0aGF0IGRyYWZ0IHdhcyBhIHByaXNvbiBndWFyZCBhbmQgZmFtaWx5IG1hbiBpbiBhbiBvZmYtd29ybGQgY29ycmVjdGlvbmFsIHVuaXQuIFdoZW4gUmlwbGV5IGNyYXNoLWxhbmRzIG9uIHRoZSBwbGFuZXQsIHVua25vd2luZ2x5IGJyaW5naW5nIGEgZGVhZGx5IHhlbm9tb3JwaCB3aXRoIGhlciB0aGF0IHN0ZWFkaWx5IG11cmRlcnMgaXRzIHdheSB0aHJvdWdoIHRoZSBwbGFuZXTigJlzIHBvcHVsYXRpb24sIEFhcm9uIHdhcyB0aGUgb25seSBjaGFyYWN0ZXIgd2hvIGxpdmVkIHRvIHRoZSBsYXN0IHBhZ2Ugb2YgdGhlIHNjcmlwdC48L3A+CgoKCjxwPuKAnEkgY2hvc2UgQWFyb24gYmVjYXVzZSBoZSBzdXJ2aXZlZCBpbiB0aGUgZHJhZnQgSSByZWFkLOKAnSBCcm93biBzYXlzLiDigJxPZiBjb3Vyc2UsIHRoYXQgd2FzbuKAmXQgdG8gYmUuIFRoZXJlIHdlcmUgbWFueSwgbWFueSBidW1wcyBpbiB0aGUgcm9hZCBhZnRlciB0aGF04oCm4oCdPC9wPgoKCgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIGlkPSJoLWFsaWVuLXJlYm9ybiI+PHN0cm9uZz5BbGllbiByZWJvcm48L3N0cm9uZz48L2gyPgoKCgo8cD48ZW0+QWxpZW4gMzwvZW0+IGhhZCBhbHJlYWR5IGJlZW4gaW4gdGhlIHdvcmtzIGZvciBzZXZlcmFsIHllYXJzJm5ic3A7YmVmb3JlIFJhbHBoIEJyb3duIHdlbnQgZm9yIHRoYXQgZmF0ZWZ1bCBhdWRpdGlvbiBpbiAxOTkwLiBSaWdodCBhZnRlciBKYW1lcyBDYW1lcm9u4oCZcyBBbGllbnMgYmVjYW1lIGEgaHVnZSBoaXQgaW4gMTk4NiwgcHJvZHVjZXJzIGF0IDIwdGggQ2VudHVyeSZuYnNwO0ZveCBiZWdhbiB0aGlua2luZyBhYm91dCBob3cgdGhleSBjb3VsZCBleHRlbmQgdGhlIHNhZ2EgYmV5b25kIHRoZSBmaWxt4oCZcyBuYXR1cmFsIGNvbmNsdXNpb24uIExpZXV0ZW5hbnQgRWxsZW4gUmlwbGV5IChTaWdvdXJuZXkgV2VhdmVyKSBoYWQgc3Vydml2ZWQgYSBicnVzaCB3aXRoIHRoZSB4ZW5vbW9ycGggaW4gdGhlIG9yaWdpbmFsIEFsaWVuLCBhbmQgaGFkIGNvbmZyb250ZWQgaXQgb24gaGVyIG93biB0ZXJtcyBpbiBBbGllbnM7IHRoZSBmaWxtIGVuZGVkIHdpdGggaGVyIGJhY2sgaW4gY3J5b3NsZWVwLCBoYXZpbmcgZmFjZWQgaGVyIG5lbWVzaXMgYW5kIGJlZW4gcmV3YXJkZWQgYnkgZmF0ZSZuYnNwO3dpdGggYSBmYW1pbHkgb2Ygc29ydHM6IENvbG9uaWFsIE1hcmluZSBsb3ZlIGludGVyZXN0IER3YXluZSBIaWNrcyAoTWljaGFlbCBCaWVobikgYW5kIHlvdW5nIHN1cnZpdm9yIE5ld3QgKENhcnJpZSBIZW5uLCB3aG8gd2FzIGp1c3QgbmluZSBhdCB0aGUmbmJzcDt0aW1lIG9mJm5ic3A7ZmlsbWluZykuPC9wPgoKCgo8cD5Ob3QgZXZlcnlvbmUgd2FzIGV4Y2l0ZWQgYWJvdXQgbWFraW5nIGEgdGhpcmQgQWxpZW4gZmlsbSwgaG93ZXZlci4gUHJvZHVjZXJzIERhdmlkIEdpbGVyIGFuZCBXYWx0ZXIgSGlsbCB3ZXJlIGluaXRpYWxseSByZWx1Y3RhbnQgdG8gY29udGludWUgdGhlIGZyYW5jaGlzZS4gSmFtZXMgQ2FtZXJvbiB3ZW50IG9uIHRvIG1ha2UgVGhlIEFieXNzIGluIDE5ODkgYW5kIFNpZ291cm5leSBXZWF2ZXIgcmVzaXN0ZWQgb2ZmZXJzIHRvIHJldHVybiBhcyBSaXBsZXkuPC9wPgoKCgo8cD5TdGlsbCwgYSByZXZvbHZpbmcgZG9vciBvZiBzY3JlZW53cml0ZXJzIGF0dGVtcHRlZCB0byBjb21lIHVwIHdpdGggdGhlaXIgb3duIGNvbmNlcHQgZm9yIDxlbT5BbGllbiAzPC9lbT4gZnJvbSBhcm91bmQgMTk4NyBvbndhcmRzLiBTb21lIHRyaWVkIHRvIHdyaXRlIGFyb3VuZCBXZWF2ZXLigJlzIGFic2VuY2UgYnkgaGF2aW5nIGhlciBjaGFyYWN0ZXIgcmVtYWluIGluIGNyeW9zbGVlcCwgd2l0aCB0aGUgYWN0aW9uIGZvY3VzaW5nIG9uIEhpY2tzIG9yIE5ld3QgaW5zdGVhZC4gQ3liZXJwdW5rIG5vdmVsaXN0IFdpbGxpYW0gR2lic29uIHdyb3RlIGEgZHJhZnQgdGhhdCBpbnZvbHZlZCBhIHdhciBiZXR3ZWVuIFdleWxhbmQtWXV0YW5pIGZvcmNlcyBhbmQgYSBncm91cCBvZiBtaWxpdGFudCBjb21tdW5pc3RzIG9uIGEgY29sb3NzYWwgc3BhY2Ugc3RhdGlvbi4gQSBnZW5ldGljYWxseSBtb2RpZmllZCBzdHJhaW4gb2YgeGVub21vcnBoIHdhcyB0aHJvd24gaW50byB0aGUgbWl4LCBjYXBhYmxlIG9mIGVtaXR0aW5nIGEgZ2FzIHRoYXQgbXV0YXRlZCBpdHMgdmljdGltcy48L3A+CgoKCjxwPlRoZSBIaXRjaGVyIHNjcmVlbndyaXRlciBFcmljIFJlZOKAmXMgYXR0ZW1wdCBhdCBhIHNjcmlwdCB3YXMgZXZlbiBtb3JlIHN0cmFuZ2UsIHdpdGggaXRzIHBhZ2VzIGNvbnRhaW5pbmcgZGVzY3JpcHRpb25zIG9mIGFsaWVuLWNoaWNrZW4gaHlicmlkcyBhbmQgYSB4ZW5vbW9ycGggYmVpbmcgY2hvcHBlZCB1cCB3aXRoIGEgY2hhaW5zYXcuIEFuZCBhcyB0aGUgc2NyaXB0cyBwaWxlZCB1cCwgZGlyZWN0b3JzIGNhbWUgYW5kIHdlbnQuIFJlbm55IEhhcmxpbiB3YXMgYXR0YWNoZWQgZm9yIGEgd2hpbGUsIGJ1dCBncmV3IHRpcmVkIG9mIHdhaXRpbmcgZm9yIGEgcHJvZHVjdGlvbiBkYXRlIGFuZCB3ZW50IG9mZiB0byBtYWtlIDxlbT5EaWUgSGFyZCAyLjwvZW0+PC9wPgoKCgo8cD5CeSB0aGUgZW5kIG9mIHRoZSAxOTgwcyw8ZW0+IEFsaWVuIDM8L2VtPiB3YXMgc3RpbGwgaW4gbGltYm8uIERhdmlkIFR3b2h5ICg8ZW0+Q3JpdHRlcnMgMjwvZW0+KSBoYWQgd3JpdHRlbiBhIHNjcmlwdCB0aGF0IGZpcnN0IGZsb2F0ZWQgdGhlIGlkZWEgb2YgdGhlIGFjdGlvbiBiZWluZyBzZXQgaW4gc29tZSBraW5kIG9mIHByaXNvbiBjb2xvbnkuIFJhdGhlciB0aGFuIHRyeSB0byB3b3JrIHdpdGggdGhlIGNvbnRpbnVpdHkgc2V0IGJ5IEFsaWVucywgaXQgaW50cm9kdWNlZCBhbiBlbnRpcmVseSBuZXcgY2FzdCBvZiBjaGFyYWN0ZXJzLiBJdCB3YXMgYXJvdW5kIHRoaXMgdGltZSwgaG93ZXZlciwgdGhhdCAyMHRoIENlbnR1cnkgRm94IHByZXNpZGVudCBKb2UgUm90aCBoYW5kZWQgZG93biBhbiBvcmRlciB0byB0aGUgZmlsbeKAmXMgcHJvZHVjZXI6IHRoZXkgaGFkIHRvIGdldCBTaWdvdXJuZXkgV2VhdmVyIGJhY2suIFRoZSBwcm9kdWN0aW9uIHdvdWxkbuKAmXQgYmUgZ3JlZW5saXQgd2l0aG91dCBoZXIuPC9wPgoKCgo8cD5XaGlsZSAyMHRoIENlbnR1cnkgRm94IGJlZ2FuIGl0cyBjYW1wYWlnbiB0byB0ZW1wdCBXZWF2ZXIgaW50byB0aGUgZm9sZCAoc2hlIGV2ZW50dWFsbHkgc2V0dGxlZCBvbiBhIHNhbGFyeSBvZiAkNG0sIHBsdXMgYSBwcm9kdWNlciByb2xlIGFuZCBhIHNoYXJlIG9mIHByb2ZpdHMpLCBXYWx0ZXIgSGlsbCBzdHVtYmxlZCBvbiBhIHByb21pc2luZyBmaWxtbWFrZXIg4oCTIFZpbmNlbnQgV2FyZCwgYSBkaXJlY3RvciBmcm9tIE5ldyBaZWFsYW5kIHdob+KAmWQgZ2FybmVyZWQgYXR0ZW50aW9uIGF0IENhbm5lcyB3aXRoIGhpcyAxOTg4IGZpbG0sIDxlbT5UaGUgTmF2aWdhdG9yLjwvZW0+IEF0IGZpcnN0LCBXYXJkIHdhcyBnaXZlbiBhIGJsYW5rIGNoZXF1ZSB0byBtYWtlIGEgc3R5bGlzaCwgc3VycmVhbCBzY2ktZmkgZmFibGUgaW4gdGhlIG1vdWxkIG9mIHRoYXQgZWFybGllciBmaWxtOiBoZSBpbWFnaW5lZCBhIHNwYWNlIHN0YXRpb24gbWFkZSBvZiB3b29kLCBmaWxsZWQgd2l0aCBtb25rcyB3aG8gYWJob3IgbW9kZXJuIHRlY2hub2xvZ3kuIFdoZW4gUmlwbGV5IHNob3dzIHVwLCBicmluZ2luZyB0aGUgeGVub21vcnBoIHdpdGggaGVyLCB0aGV5IHJlZ2FyZCB0aGUgbW9uc3RlciBhcyBhbiBpbmNhcm5hdGlvbiBvZiB0aGUgRGV2aWwuPC9wPgoKCgo8cD5TZXZlcmFsIHByb2R1Y2VycyB3ZXJlIHVuZWFzeSBhYm91dCBXYXJk4oCZcyDigJhhcnRzeS1mYXJ0c3nigJkgaWRlYSBvZiBhIHdvb2RlbiBwbGFuZXQsIGhvd2V2ZXIsIGFuZCBkZW1hbmRlZCB0aGF0IHRoZSBjb25jZXB0IGJlIGFiYW5kb25lZCBpbiBmYXZvdXIgb2YgdGhlIHByaXNvbiBjb2xvbnkgZHJlYW10IHVwIGJ5IERhdmlkIFR3b2h5LiBXaXRoIHN0dWRpbyBhbmQgZmlsbW1ha2VyIGF0IGFuIGltcGFzc2UsIFdhcmQgd2FzIGZpcmVkIGluIGxhdGUgMTk5MC48L3A+CgoKCjxwPlNlZW1pbmdseSBkZXRlcm1pbmVkIHRvIG1ha2U8ZW0+IEFsaWVuIDMgPC9lbT5oYXBwZW4sIGV2ZW4gd2l0aG91dCBhIGRpcmVjdG9yIG9yIGEgZmluYWxpc2VkIHNjcmlwdCwgMjB0aCBDZW50dXJ5IEZveCBoYWQgc2V0IGEgZGF0ZSBmb3IgcHJvZHVjdGlvbiB0byBiZWdpbjogMTR0aCBKYW51YXJ5IDE5OTEuIEl0IHdvdWxkIHRoZW4gYmUgZXhwZWN0ZWQgdG8gYmUgY29tcGxldGVkIGJ5IHRoZSBmb2xsb3dpbmcgc3ByaW5nIOKAkyBhIHRpZ2h0IHR1cm5hcm91bmQsIHBhcnRpY3VsYXJseSBmb3IgYSBzY2ktZmkgaG9ycm9yIHdpdGggY29tcGxleCB2aXN1YWwgZWZmZWN0cy4gVGhlIGFpciBvZiBoYXN0ZSB3YXMgc3VjaCB0aGF0IHByb2R1Y3Rpb24gZGVzaWduZXIgTm9ybWFuIFJleW5vbGRzIGhhZCBhbHJlYWR5IGJlZ3VuIGJ1aWxkaW5nIHNldHMgZm9yIHRoZSBwbGFuZXQgRmlvcmluYSDigJhGdXJ54oCZIDE2MSBhbmQgaXRzIHByaXNvbiBhdCB0aGUgc3RhcnQgb2YgdGhlIHllYXIuIEVmZmVjdHMgc3R1ZGlvIEFtYWxnYW1hdGVkIER5bmFtaWNzIGhhZCBhbHNvIGJlZ3VuIGNyYWZ0aW5nIHZhcmlvdXMgbW9kZWxzIGZvciB0aGUgeGVub21vcnBoIGluIGl0cyB2YXJpb3VzIGZvcm1zLjwvcD4KCgoKPHA+SXQgd2FzIGludG8gdGhpcyBjaGFvcyB0aGF0IERhdmlkIEZpbmNoZXIgZW50ZXJlZCB0aGUgc3RvcnkgYXQgdGhlIHN0YXJ0IG9mIDE5OTEuIFlvdW5nIGFuZCBjb25maWRlbnQsIGhl4oCZZCBpbW1lZGlhdGVseSB3b24gU2lnb3VybmV5IFdlYXZlcuKAmXMgZmF2b3VyIHdoZW4gaGUgc3VnZ2VzdGVkIGluIGFuIGluaXRpYWwgbWVldGluZyB0aGF0IFJpcGxleSBzaG91bGQgaGF2ZSBoZXIgaGVhZCBzaGF2ZWQgZm9yIHRoZSBmaWxtLiBBbHRob3VnaCBoZeKAmWQgbmV2ZXIgbWFkZSBhIGZlYXR1cmUgYmVmb3JlLCBoZeKAmWQgd29ya2VkIGFzIGEgbWF0dGUgYXJ0aXN0IGF0IEluZHVzdHJpYWwgTGlnaHQgJmFtcDsgTWFnaWMgd2hpbGUgaGUgd2FzIHN0aWxsIGEgdGVlbmFnZXIsIGFuZCBoYWQgc2V0IHVwIGhpcyBvd24gY29tbWVyY2lhbHMgY29tcGFueSwgUHJvcGFnYW5kYSwgd2hpbGUgaW4gaGlzIGVhcmx5IDIwcy4gUmlkbGV5IFNjb3R04oCZcyA8ZW0+QWxpZW4gPC9lbT53YXMgYWxzbyBvbmUgb2YgdGhlIG1vdmllcyB0aGF0IGluc3BpcmVkIGhpbSB0byBnZXQgaW50byBmaWxtbWFraW5nLjwvcD4KCgoKPHA+VGhlIG9mZmVyIHRvIG1ha2UgPGVtPkFsaWVuIDM8L2VtPiB0aGVyZWZvcmUgc291bmRlZCBsaWtlIGFuIHVubWlzc2FibGUgb3Bwb3J0dW5pdHkg4oCTIGV2ZW4gaWYgbWlsbGlvbnMgb2YgZG9sbGFycyBoYWQgYWxyZWFkeSBiZWVuIHNwZW50IG9uIGl0IGJlZm9yZSBoZeKAmWQgc2hvd2VkIHVwLCBhbmQgRmluY2hlciBvbmx5IGhhZCBhIG1hdHRlciBvZiB3ZWVrcyB0byBnZXQgYSBzaG9vdGluZyBzY3JpcHQgdG9nZXRoZXIuIFRoZSBwcm9kdWN0aW9uIHByb3ZlZCB0byBiZSDigJxhd2Z1bCzigJ0gRmluY2hlciBsYXRlciBhZG1pdHRlZC4gSGUgY2FsbGVkIGl0OiDigJxUaGUgd29yc3QgdGhpbmcgdGhhdCBldmVyIGhhcHBlbmVkIHRvIG1lLuKAnTwvcD4KCgoKPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIGhhcy10ZXh0LWFsaWduLWxlZnQiIGlkPSJoLWNvbGQtZGlzLWNvbWZvcnQiPjxzdHJvbmc+Q29sZCAoZGlzKWNvbWZvcnQ8L3N0cm9uZz48L2gyPgoKCgo8cD5BcyBmaWxtaW5nIGdvdCB1bmRlcndheSBvbiBhbiBpY3kgSmFudWFyeSBkYXkgaW4gMTk5MSwgdGhlIHNldCBvZiA8ZW0+QWxpZW4gMzwvZW0+IGxvb2tlZCBsaWtlIGEgd2hv4oCZcy13aG8gb2YgQnJpdGlzaCBhY3RpbmcgdGFsZW50LiBSYWxwaCBCcm93biB3YXMgam9pbmVkIGJ5IGhpcyBXaXRobmFpbCAmYW1wOyBJIGNvLXN0YXIsIFBhdWwgTWNHYW5uIChGaW5jaGVyIGhhZCBhbHNvIHdhbnRlZCB0byBoaXJlIFdpdGhuYWlsIGFjdG9yIFJpY2hhcmQgRSBHcmFudCwgYnV0IGhpcyBwcm9kdWNlcnMgcmVmdXNlZCB0byBsZXQgaGltKTsgQnJpYW4gR2xvdmVyIGhhZCBiZWVuIGhpcmVkIHRvIHBsYXkgcHJpc29uIHdhcmRlbiBBbmRyZXdzOyBDaGFybGVzIERhbmNlIHdhcyB0byBwbGF5IENsZW1lbnMsIGEgbWVkaWMgYW5kIGxvdmUgaW50ZXJlc3QgZm9yIFJpcGxleS4gUm91bmRpbmcgb3V0IHRoZSBjYXN0IG9mIGlubWF0ZXMgd2VyZSB0aGUgbGlrZXMgb2YgUGV0ZSBQb3N0bGV0aHdhaXRlLCBDbGl2ZSBNYW50bGUgYW5kIG1vcmUgYmVzaWRlcy4gQXNpZGUgZnJvbSBTaWdvdXJuZXkgV2VhdmVyLCB0aGUgb25seSBvdGhlciBBbWVyaWNhbiBhY3RvcnMgd2l0aCBtYWpvciBzcGVha2luZyByb2xlcyB3ZXJlIENoYXJsZXMgUyBEdXR0b24sIHdobyBwbGF5ZWQgRGlsbG9uLCB0aGUgZGUgZmFjdG8gbGVhZGVyIGFtb25nIHRoZSBpbm1hdGVzLCBhbmQgTGFuY2UgSGVucmlrc2VuLCB3aG8gcmVwcmlzZWQgaGlzIHJvbGUgb2YgQmlzaG9wIGZyb20gQWxpZW5zLjwvcD4KCgoKPHA+VGhlIGNhc3QgbGVudCB0aGUgZmlsbSBhbiBlY2xlY3RpYyByYW5nZSBvZiByZWdpb25hbCBhY2NlbnRzLCB0aG91Z2ggdGhpcyB3YXMgbW9yZSBieSBhY2NpZGVudCB0aGFuIGRlc2lnbjsgd2l0aCBvbmx5IGEgbWF0dGVyIG9mIHdlZWtzIHRvIGNhc3QgPGVtPkFsaWVuIDMgPC9lbT5iZWZvcmUgc2hvb3RpbmcgYmVnYW4sIEZpbmNoZXIgZGlkbuKAmXQgaGF2ZSB0aW1lIHRvIGZpbmQgQnJpdGlzaCByZXNpZGVudHMgd2hvIGNvdWxkIHB1dCBvbiBhIGNvbnZpbmNpbmcgQW1lcmljYW4gZHJhd2wuPC9wPgoKCgo8cD5UaHJlZSBkYXlzIGludG8gZmlsbWluZywgQnJvd24gZm91bmQgYSBuZXcgZHJhZnQgb2YgdGhlIHNjcmlwdCBoYWQgYmVlbiBzbGlwcGVkIHVuZGVyIGhpcyBjaGFuZ2luZyByb29tIGRvb3IuIEZsaXBwaW5nIHRocm91Z2ggdGhlIHBhZ2VzLCBoZSBub3RpY2VkIGhpcyBjaGFyYWN0ZXIgaGFkIGFsc28gY2hhbmdlZDogbm8gbG9uZ2VyIHdhcyBBYXJvbiB0aGUgb3JkaW5hcnkgZmFtaWx5IG1hbiBCcm93biBoYWQgYWdyZWVkIHRvIHBsYXkg4oCTIGhlIHdhcyBub3cgYW4gb2JzZXF1aW91cyBzeWNvcGhhbnQgd2hvIGZvbGxvd3MgQW5kcmV3cyBhcm91bmQgYW5kIGlzIG9wZW5seSBtb2NrZWQgYnkgdGhlIGZhY2lsaXR54oCZcyBpbm1hdGVzIGZvciBoaXMgbG93IGludGVsbGlnZW5jZS48L3A+CgoKCjxwPkFjY29yZGluZyB0byBCcm93biwgdGhlIGRlY2lzaW9uIHRvIGNoYW5nZSBoaXMgY2hhcmFjdGVyIGNhbWUgZnJvbSBTaWdvdXJuZXkgV2VhdmVyLCB3aG8gc2VlbWluZ2x5IGRpZG7igJl0IHdhbnQgaGlzIGNoYXJhY3RlciB0byBiZSBtb3JlIGxpa2VhYmxlIHRoYW4gUmlwbGV5LjwvcD4KCgoKPHA+4oCcVGhlIGNoYXJhY3RlciB3YXMgY2hhbmdlZCBiZWNhdXNlIFNpZ291cm5leSB3YXMgcGFyYW5vaWQgYWJvdXQgYmVpbmcgdW5zeW1wYXRoZXRpYyzigJ0gQnJvd24gc2F5cy4g4oCcRGF2aWQgW0ZpbmNoZXJdIGZlbHQgdGhhdCBiZWNhdXNlIHNoZSB3YXMgZ29pbmcgdG8gZGllIGF0IHRoZSBlbmQgdGhhdCBpdCB3YXMgZ29pbmcgdG8gYmUgdHJpY2t5IGZvciB0aGUgbW92aWUgaWYgdGhlIGF1ZGllbmNlIG9ubHkgaWRlbnRpZmllZCB3aXRoIGhlciwgd2hpY2ggdGhleSBoYWQgaW4gdGhlIGZpcnN0IGFuZCBzZWNvbmQgb25lLjwvcD4KCgoKPHA+4oCcW0ZpbmNoZXJdIHdhbnRlZCB0aGUgYXVkaWVuY2UgdG8gc3ByZWFkIHRoZWlyIGFmZmVjdGlvbiBvdXQgYW1vbmcgb3RoZXIgY2hhcmFjdGVyc+KApiBUaGUgc2NyaXB0IGRpZG7igJl0IGhhdmUgdGhhdCBob3BlLCBzbyBoZSB3YW50ZWQgdG8gZmlkZGxlIHdpdGggaXQgYSBiaXQsIGFuZCBvbmUgb2YgaGlzIGZpZGRsZXMgd2FzIHRvIGhhdmUgc29tZSBzeW1wYXRoeSBmb3IgQWFyb24sIGJlY2F1c2UgaGXigJlzIGEgZmFtaWx5IGd1eS4gU2lnb3VybmV5IGdvdCB3aW5kIG9mIHRoaXMsIGRpZG7igJl0IGxpa2UgaXQsIGFuZCBzbyBkaWQgdGhlIG9wcG9zaXRlLuKAnTwvcD4KCgoKPHA+W05vdGU6IFNpZ291cm5leSBXZWF2ZXIgZGVjbGluZWQgdG8gYmUgaW50ZXJ2aWV3ZWQgZm9yIHRoaXMgYXJ0aWNsZS5dPC9wPgoKCgo8cD5Ccm93buKAmXMgZGlhcmllcyBmcm9tIHRoZSBwZXJpb2QsIGxhdGVyIHB1Ymxpc2hlZCBvbiBoaXMgcGVyc29uYWwgYmxvZywgcGFpbnQgYSBwaWN0dXJlIG9mIGFueGlldHkgYW5kIHBhcmFub2lhIG9uIHRoZSBzZXQuIE9uIHRoZSAxOHRoIG9mIEphbnVhcnksIEJyb3duIGhhZCBhIG1lZXRpbmcgd2l0aCB3cml0ZXItcHJvZHVjZXJzIFdhbHRlciBIaWxsIGFuZCBEYXZpZCBHaWxlciBhdCBhIExvbmRvbiBIb3RlbCwgd2hlcmUgQnJvd24gaW5pdGlhbGx5IGF0dGVtcHRlZCB0byBoYXZlIGhpcyBjaGFyYWN0ZXIgcmV0dXJuZWQgdG8gdGhlIHZlcnNpb24gaGXigJlkIHNpZ25lZCBvbiB0byBwbGF5LjwvcD4KCgoKPHA+4oCcSeKAmWQgYWxyZWFkeSBzaG90IHRocmVlIHNjZW5lcyBieSB0aGVuLOKAnSBCcm93biB0ZWxscyB1cyBub3cuIOKAnEZvciBtZSwgYmVjYXVzZSBJIHdhbnQgdG8gcHJvdGVjdCBteSBwZXJmb3JtYW5jZSBhYm92ZSBhbmQgYmV5b25kIGFueXRoaW5nIGVsc2UsIEkgZmVsdCBJIGhhZCBzb21ldGhpbmcgdG8gZGVmZW5kLiBJZiBpdCB3YXMgc29tZSB0aGVvcmV0aWNhbCBjaGFuZ2Ugb2YgY2hhcmFjdGVyIGJlZm9yZSB3ZSBzdGFydGVkIHdvcmssIHlvdSBjYW4gb2ZmZXIgdGhpbmdzLCBidXQgYXQgdGhlIGVuZCBvZiB0aGUgZGF5IGl04oCZcyBub3QgeW91ciBkZWNpc2lvbi4gSWYgeW914oCZdmUgYWxyZWFkeSBnb25lIG9uIGZpbG0gYW5kIGRvbmUgMjUgdGFrZXMsIHdoaWNoIEZpbmNoZXIgbGlrZXMgdG8gZG8sIHBsYXlpbmcgd2hvIHlvdSB0aGluayBBYXJvbuKAmXMgYmVpbmcsIGFuZCBhbGwgb2YgYSBzdWRkZW4gdGhleSBzYXksIOKAmEFjdHVhbGx5LCBoZeKAmXMgcmVhbGx5IHN0dXBpZCBhbmQgcGVvcGxlIGFyZSB0YWtpbmcgdGhlIHBpc3Mgb3V0IG9mIGhpbSBhbmQgaGXigJlzIHRoZSBidXR0IG9mIGpva2VzLuKAmeKAieKAnTwvcD4KCgoKPHA+VGhlIG1lZXRpbmcgaGFkIGxpdHRsZSBlZmZlY3QuIEZlYXJpbmcgZm9yIGhpcyBqb2IsIEJyb3duIHJlbGVudGVkIGFuZCBhY2NlcHRlZCB0aGF0LCBmcm9tIHRoaXMgcG9pbnQgb24sIGhpcyBjaGFyYWN0ZXLigJlzIG5pY2tuYW1lIGluIHRoZSBmaWxtIHdvdWxkIGJlIDg1IOKAkyBhIHJlZmVyZW5jZSB0byBoaXMgbG93IElRLjwvcD4KCgoKPHA+SGlsbCwgY2xhZCBpbiBtaXJyb3JlZCBzaGFkZXMsIGFsc28gc2FpZCBzb21ldGhpbmcgdG8gdGhlIGVmZmVjdCBvZiwg4oCcRG9u4oCZdCBlbmQgdXAgbGlrZSBWZXJvbmljYSBDYXJ0d3JpZ2h0LOKAnSByZWZlcnJpbmcgdG8gdGhlIGFjdG9yIHdobyBwbGF5ZWQgdGhlIGZyYWN0aW91cyBzaGlw4oCZcyBuYXZpZ2F0b3IgTGFtYmVydCBpbiA8ZW0+QWxpZW48L2VtPi4gVG8gdGhpcyBkYXksIEJyb3duIGlzIHVuY2VydGFpbiBhYm91dCB3aGF0IEhpbGwgbWVhbnQuPC9wPgoKCgo8cD7igJxJIHRoaW5rIHBhcnRzIG9mIGhlciBwZXJmb3JtYW5jZSB3ZXJlIGN1dCBvdXQgb2YgPGVtPkFsaWVuPC9lbT4s4oCdIEJyb3duIHNheXMuIOKAnE5vdCB0aGF0IHRoYXTigJlzIHVudXN1YWwg4oCTIHRoYXTigJlzIHdoYXQgZmlsbW1ha2luZyBpc+KApiBJIHdhc27igJl0IHF1aXRlIHN1cmUgd2hhdCBbSGlsbF0gbWVhbnQsIGJ1dCBpdCB3YXMgbGlrZSBoaXMgc2VjcmV0LiBBIHNlY3JldCB0aHJlYXQsIHlvdSBrbm93PyBJIGRpZG7igJl0IGFzayBoaW0gdG8gZWxhYm9yYXRlLuKAnTwvcD4KCgoKPHA+QnJvd24gcXVpY2tseSByZWFsaXNlZCBoZSB3YXMgaW4gdGhlIG1pZGRsZSBvZiBhIGJhdHRsZSBvZiB3aWxscyBiZXR3ZWVuIHR3byBvciBtb3JlIGZhY3Rpb25zLCBhbGwgb2Ygd2hvbSBoYWQgc29tZSBpbnB1dCBvdmVyIHdoYXQgd2VudCBpbnRvIHRoZSBzY3JpcHQsIHdoaWNoIHdhcyBzdGlsbCBiZWluZyByZXdyaXR0ZW4gYnkgR2lsZXIgYW5kIEhpbGwgYXMgY2FtZXJhcyByb2xsZWQgaW4gbWlkIEphbnVhcnkuIFdlYXZlciBhbHNvIGhhZCBhIG1ham9yIGlucHV0IGludG8gd2hhdCB3ZW50IGludG8gdGhlIHBsb3Q7IHRoYXQgUmlwbGV5IHdvdWxkIGJlIGtpbGxlZCBvZmYgYXQgdGhlIGVuZCBvZiB0aGUgZmlsbSB3YXMgYXQgaGVyIGluc2lzdGVuY2UsIGFzIHdhcyBoZXIgY2hhcmFjdGVy4oCZcyBsb3ZlIHNjZW5lIHdpdGggQ2xlbWVucy48L3A+CgoKCjxwPuKAnFRoZXJlIHdhcyB0aGUgV2FsdGVyIEhpbGwsIERhdmlkIEdpbGVyLCBTaWdvdXJuZXkgV2VhdmVyIGF4aXMg4oCTIHBvd2VyZnVsIHBlb3BsZSzigJ0gQnJvd24gc2F5cy4g4oCcQW5kIHRoZW4gdGhlcmUgd2FzIHRoZSBEYXZpZCBGaW5jaGVyLCAyMHRoIENlbnR1cnkgRm94IGtpbmQgb2YgY2FtcCB3aG8gd2VyZSBub3Qgc28gcG93ZXJmdWwuIFN1ZGRlbmx5IEkgd2FzIGNhdWdodCBpbiB0aGUgbWlkZGxlIG9mIHNvbWUgcHVuY2gtdXAgdGhhdCBJIGRpZG7igJl0IHJlYWxseSB3ZWxjb21lLiBJIHdhcyBtYWRlIHRvIHVuZGVyc3RhbmQgdGhhdCBpdCB3YXMg4oCYY3JldyBleHBlbmRhYmxlLOKAmSBiYXNpY2FsbHkg4oCTIGFuZCB0aGF0IGluY2x1ZGVkIG1lLuKAnTwvcD4KCgoKPHA+Rm9yIHRoZSBmaXJzdCBtb250aCBvZiBmaWxtaW5nLCBCcm93biByZWNhbGxzIGEgdGVuc2UgYXRtb3NwaGVyZSBvbiBzZXQuIFRoZSBzY3JpcHQgd2FzIHJld3JpdHRlbiBhbG1vc3QgZGFpbHksIGFuZCBldmVyeSBzbyBvZnRlbiwgYSByZXdyaXRlIHdvdWxkIGludHJvZHVjZSBzb21lIG5ldywgaWdub21pbmlvdXMgZW5kIGZvciBBYXJvbiwgbGlrZSBhIGNoYXJhY3RlciBpbiBhbiBFZHdhcmQgR29yZXkgdGFsZS4gSW4gb25lIHZlcnNpb24sIEFhcm9uIHdhcyBzbGF1Z2h0ZXJlZCBieSB0aGUgeGVub21vcnBoOyBpbiBhbm90aGVyLCBoZSBmZWxsIGludG8gYSB2YXQgb2YgbGVhZDsgaW4gc3RpbGwgYW5vdGhlciwgaGUgaGFkIGhpcyB0aHJvYXQgc2xhc2hlZCBieSBNY0dhbm7igJlzIGNoYXJhY3RlciwgR29saWMuIEV2ZW50dWFsbHksIEFhcm9uIHdvdWxkIGJlIGd1bm5lZCBkb3duIGJ5IFdleWxhbmQtWXV0YW5pIHRyb29wcyBpbiB0aGUgZmlsbeKAmXMgZHlpbmcgbW9tZW50cy48YnI+4oCcVGhlIGZpcnN0IG1vbnRoLCBldmVyeW9uZSB3YXMgY29tcGxldGVseSBwYXJhbm9pZCzigJ0gQnJvd24gcmVjYWxscy4g4oCcQmVjYXVzZSBvZiBTaWdvdXJuZXnigJlzIHZpYmUgYW5kIGJlY2F1c2Ugb2YgdGhlIEZveCB2aWJlLCBhbmQgYmVjYXVzZSBvZiB0aGUgYW1vdW50IG9mIG1vbmV5IHRoYXTigJlzIGFyb3VuZC4gQW5kIGl04oCZcyBhIGhvcnJvciBmaWxtIOKAkyBhIHNjYXJ5IGZpbG0uIEkgcmVtZW1iZXIgc2F5aW5nIG9uZSBkYXksIOKAmElmIHdl4oCZcmUgbWFraW5nIGEgaG9ycm9yIGZpbG0sIGRvZXMgaXQgaGF2ZSB0byBiZSBob3JyaWJsZT8gT3IgY2FuIHdlIGhhdmUgZnVuIG1ha2luZyBhIGhvcnJvciBmaWxtP+KAmeKAieKAnTwvcD4KCgoKPHA+VG8gdGhlIGJlc3Qgb2YgQnJvd27igJlzIHJlY29sbGVjdGlvbiwgd2hpbGUgV2VhdmVyIGFsc28gZ2F2ZSBDaGFybGVzIERhbmNlIOKAnHF1aXRlIGEgaGFyZCB0aW1lIGFzIHdlbGws4oCdIG5vIG90aGVyIGNoYXJhY3RlciBpbiB0aGUgZmlsbSB3YXMgcmV3cml0dGVuIGFzIG11Y2ggYXMgQWFyb24gd2FzLiBJbiBhIDZ0aCBGZWJydWFyeSBkaWFyeSBlbnRyeSwgQnJvd24gd3JvdGUgdGhhdCBoZSBtZW50aW9uZWQgdG8gV2VhdmVyIHRoYXQgaGlzIGRlYXRoIGluIHRoZSBmaWxtIGhhZCBiZWVuIHJld3JpdHRlbiBmaXZlIHRpbWVzIHdpdGhpbiB0aGUgcGFzdCBmZXcgd2Vla3M7IGFjY29yZGluZyB0byBCcm93biwgV2VhdmVyIHRhcnRseSByZXBsaWVkOiDigJxJIGFza2VkIHRoZW0gdG8ga2lsbCB5b3Ugb2ZmIG9uIHBhZ2UgdGVuLuKAnTwvcD4KCgoKPHA+4oCcU2hlIHdhcyBnaXZpbmcgbWUgYSBoYXJkIHRpbWUgd2hlbiB3ZSBoYWQgdG8gZG8gd29yayB0b2dldGhlcizigJ0gQnJvd24gc2F5cyBub3csIOKAnGJlY2F1c2Ugc2hlIGZlbHQgdGhyZWF0ZW5lZC4gSSBkaWRu4oCZdCB1bmRlcnN0YW5kIGF0IHRoZSB0aW1lIGJlY2F1c2UgaXQgd2FzIG15IGZpcnN0IGJpZyBbcm9sZV0uIEkgdGhvdWdodCBzaGUgd2FzIGp1c3QgYmVpbmcgaG9ycmlibGUsIGJ1dCBpbiBIb2xseXdvb2QgdGhlcmXigJlzIG9ubHkgb25lIHdpbm5lci4gSXTigJlzIGxpa2UgZ2xhZGlhdG9yaWFsIGNvbWJhdCwgbWFraW5nIGEgZmlsbSwgYW5kIHRoZSBzdGFycyBkb27igJl0IHdhbnQgYW55b25lIHRvIGxvb2sgdG9vIGdvb2QgaW4gdGhlIHN1cHBvcnRpbmcgcGFydHMu4oCdPC9wPgoKCgo8cD5Ccm93biBhbHNvIG5vdGVzIHRoYXQgdGhlIHByb2R1Y3Rpb24gcGxhY2VkIGEgbG90IG9mIGRlbWFuZHMgb24gV2VhdmVyLiBBcyB3ZWxsIGFzIGxlYWRpbmcgYSBmaWxtIHRoYXQgd2FzIGJlaW5nIHdyaXR0ZW4gZXZlbiBhcyBzY2VuZXMgd2VyZSBzaG90LCB0aGUgcGxvdCBkZW1hbmRlZCBzaGUgaGF2ZSBoZXIgaGVhZCBzaGF2ZWQsIGJlIGNsYWQgaW4gZ3J1YmJ5IGNsb3RoZXMsIGFuZCB3ZWFyIGFuIHVuY29tZm9ydGFibGUgY29udGFjdCBsZW5zIHRvIGdpdmUgaGVyIGEgYmxvb2RzaG90IGV5ZSBpbiBzZXZlcmFsIGVhcmx5IHNjZW5lcy4gT25lIGxlbmd0aHkgc2VxdWVuY2Ug4oCTIGVkaXRlZCBvdXQgb2YgdGhlIGZpbG3igJlzIHRoZWF0cmljYWwgY3V0IOKAkyByZXF1aXJlZCBoZXIgdG8gbGllIHNjYW50aWx5IGNsYWQgb24gYSBmcmVlemluZyBjb2xkIENvdW50eSBEdXJoYW0gYmVhY2ggZm9yIG11bHRpcGxlIHRha2VzLjwvcD4KCgoKPHA+4oCcU2hlIGhhZCBoZXIgaGVhZCBzaGF2ZWQgYW5kIHNoZSBoYWQgbXVjayBhbmQgZGlydCBwdXQgb24gaGVyIGV2ZXJ5IG1vcm5pbmcsIGFuZCBzaGUgd2FzbuKAmXQgdGhlIG1vc3QgZ2xhbW9yb3VzIHNoZeKAmWQgZmVsdCBpbiBoZXIgY2FyZWVyLOKAnSBCcm93biBzYXlzLiDigJxJIHVuZGVyc3RhbmQuIE5vdyBJIHVuZGVyc3RhbmQgd2hhdCB3YXMgaGFwcGVuaW5nIGEgYml0IG1vcmUuIEJ1dCBhdCB0aGUgdGltZSBJIGZlbHQgdW5kZXIgYXR0YWNrIGV2ZXJ5IHRpbWUgSSB3ZW50IHRvIHdvcmsu4oCdPC9wPgoKCgo8cD5GaW5jaGVyIHdhc27igJl0IGhhdmluZyBhbiBlYXN5IHRpbWUgb24gc2V0LCBlaXRoZXIuIEV4ZWN1dGl2ZXMgYW5kIHByb2R1Y2VycyB3ZXJlIGNvbW1vbmx5IGhhbmdpbmcgYXJvdW5kLCBxdWVzdGlvbmluZyBGaW5jaGVy4oCZcyBkZWNpc2lvbnMgb3IgZGVtYW5kaW5nIHlldCBtb3JlIHNjcmlwdCBjaGFuZ2VzIOKAkyBhbmQgd2l0aCBlYWNoIGNoYW5nZSwgdGhlIGFscmVhZHkgbGFyZ2UgYnVkZ2V0IGtlcHQgY3JlZXBpbmcgdXAgZXZlciBmdXJ0aGVyLiBJbiBhbiBhdHRlbXB0IHRvIGdldCB0aGluZ3MgdW5kZXIgc29tZSBzb3J0IG9mIGNvbnRyb2wsIEZpbmNoZXIgaGFkIGZsb3duIGluIHdyaXRlciBSZXggUGlja2V0dCB0byByZXdvcmsgR2lsZXIgYW5kIEhpbGzigJlzIHNjcmlwdDsgYnV0IFBpY2tldHQgd2FzIHNvb24gZmlyZWQsIGFuZCBldmVudHVhbGx5LCB0aGUgYmlsbCB3b3VsZCByZWFjaCBhbiBlc3RpbWF0ZWQgJDUwbS48L3A+CgoKCjxwPk92ZXIgMzAgeWVhcnMgbGF0ZXIsIEZpbmNoZXIgaXMgc3RpbGwgcmVsdWN0YW50IHRvIHRhbGsgYWJvdTxlbT50IEFsaWVuIDM8L2VtPuKAmXMgcHJvZHVjdGlvbiwgYW5kIGZyZXF1ZW50bHkgYXZvaWRzIHRoZSBzdWJqZWN0IGFsdG9nZXRoZXIuIEFib3V0IGEgeWVhciBhZnRlciB0aGUgZmlsbeKAmXMgcmVsZWFzZSBpbiAxOTkyLCB0aG91Z2gsIEJCQyBqb3VybmFsaXN0IE1hcmsgQnVybWFuIHRhbGtlZCB0byBGaW5jaGVyIGZvciBhbG1vc3QgYW4gaG91ciBhYm91dCBpdHMgdG9ydHVvdXMgcHJvZHVjdGlvbi4gUHVibGlzaGVkIGluIHRoZSBmaXJzdCBpc3N1ZSBvZiBhIHNob3J0LWxpdmVkIG1hZ2F6aW5lIGNhbGxlZCBJbWFnaS1Nb3ZpZXMsIGl0IHdhcyBwZXJoYXBzIHRoZSBsYXN0IHRpbWUgRmluY2hlciB0YWxrZWQgaW4gbXVjaCBkZXB0aCBhYm91dCBoaXMgZXhwZXJpZW5jZSwgYXQgbGVhc3QgcHVibGljbHkuPC9wPgoKCgo8cD7igJxUaGUgbGVzc29uIHRvIGJlIGxlYXJuZWQs4oCdIGhlIHRvbGQgQnVybmhhbSwg4oCcaXMgdGhhdCB5b3UgcmVhbGx5IGNhbuKAmXQgdGFrZSBvbiBhbiBlbnRlcnByaXNlIG9mIHRoaXMgc2l6ZSBhbmQgc2NvcGUgaWYgeW91IGRvbuKAmXQgaGF2ZSBhIG1vdmllIGxpa2UgPGVtPlRlcm1pbmF0b3IgPC9lbT5vciA8ZW0+SmF3cyA8L2VtPmJlaGluZCB5b3UuIFdoZW4gU3RldmVuIFNwaWVsYmVyZyBjb21lcyBpbiBhbmQgc2F5cywg4oCYSSBtYWRlIDxlbT5KYXdzPC9lbT4sIHRoZSBiaWdnZXN0LWdyb3NzaW5nIG1vdmllIG9mIGFsbCB0aW1lIGFuZCBJIHdhbnQgJDE4IG1pbGxpb24gdG8gZG8gPGVtPkNsb3NlIEVuY291bnRlcnM8L2VtPizigJkgd2hpY2ggaXMgcHJvYmFibHkgdGhlIGVxdWl2YWxlbnQgdG8gd2hhdCB3ZSBzcGVudCwgaXTigJlzIHZlcnkgbmljZSB0byBiZSBhYmxlIHRvIHNheSwg4oCYVGhpcyBpcyB0aGUgZ3V5IHdobyBkaXJlY3RlZCB0aGUgYmlnZ2VzdC1ncm9zc2luZyBtb3ZpZSBvZiBhbGwgdGltZS4gU2l0IGRvd24gYW5kIHNodXQgdXAsIGFuZCBmZWVsIGx1Y2t5IHRoYXQgeW914oCZdmUgZ290IGhpbS7igJk8L3A+CgoKCjxwPuKAnEl04oCZcyBhbm90aGVyIHRoaW5nIHdoZW4gZXZlcnlib2R54oCZcyB3cmluZ2luZyB0aGVpciBoYW5ka2VyY2hpZWZzIGFuZCBzd2VhdGluZyBhbmQgcHVraW5nIGJsb29kIGJlY2F1c2Ugb2YgdGhlIG1vbmV5IHRoYXTigJlzIGJlaW5nIHNwZW50IGFuZCB5b3XigJlyZSBnb2luZywg4oCYVHJ1c3QgbWUsIHRoaXMgaXMgd2hhdCBJIHJlYWxseSBiZWxpZXZlIGlu4oCZIGFuZCB0aGV5IHR1cm4gYXJvdW5kIGFuZCBzYXksIOKAmFdlbGwsIHdobyB0aGUgZnVjayBhcmUgeW91PyBXaG8gY2FyZXMgd2hhdCB5b3UgYmVsaWV2ZSBpbj/igJnigInigJ08L3A+CgoKCjxwPkZpbmNoZXIgYWxzbyByZWNhbGxlZCB0aGUgZGF5IHdoZW4sIGluIHRoZSBtaWRkbGUgb2YgZmlsbWluZyBvbmUgb2YgdGhlIGZpbG3igJlzIGZpZXJ5IGFjdGlvbiBzZXF1ZW5jZXMsIGhpcyBpZG9sIFJpZGxleSBTY290dCBwYWlkIGFuIHVuZXhwZWN0ZWQgdmlzaXQuPC9wPgoKCgo8cD7igJxJbiBoZSB3YWxrZWQgd2l0aCBoaXMgc2lsayBzdWl0IGFuZCBvbmUgb2YgaGlzIGJpZywgQ3ViYW4gY2lnYXJzLCBsb29raW5nIGZhYnVsb3VzLOKAnSBGaW5jaGVyIHNhaWQuIExvb2tpbmcgYXJvdW5kIGF0IHRoZSB2YXN0LCBkaW1seSBsaXQgc2V0cywgU2NvdHQgYXNrZWQgaG93IHRoaW5ncyB3ZXJlIGdvaW5nIGFuZCBGaW5jaGVyIHJlcGxpZWQsIHdpdGggZGlzYXJtaW5nIGhvbmVzdHksIOKAnFJlYWxseSBiYWQu4oCdPC9wPgoKCgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIGlkPSJoLXNodXRkb3duIj48c3Ryb25nPlNodXRkb3duPC9zdHJvbmc+PC9oMj4KCgoKPHA+RGVzcGl0ZSB0aGUgcHJlc3N1cmVzIG9mIHN0ZWVyaW5nIGEgZGVidXQgbW92aWUgY29uc3RhbnRseSBvbiB0aGUgY3VzcCBvZiBydW5uaW5nIG91dCBvZiBjb250cm9sLCBGaW5jaGVyIHdhcyBhbiBhcHByb2FjaGFibGUsIHBlcnNvbmFibGUgZGlyZWN0b3Igd2hvIGdvdCBvbiB3ZWxsIHdpdGggaGlzIGNhc3QgYWNjb3JkaW5nIHRvIEJyb3duLjwvcD4KCgoKPHA+4oCcV2UgbG92ZWQgRGF2aWQs4oCdIEJyb3duIHNheXMuIOKAnERhdmlkIHdhcyBmdW5ueSBhbmQgcmVhbGx5IGRvd24gd2l0aCB0aGUgYWN0b3JzLiBIZSB3YXNu4oCZdCBwYXJhbm9pZCBvciB3ZWlyZC4gSGUgd2FzIHZlcnkgZWFzeS1nb2luZy4gV2Ugd2VyZSBqdXN0IGRvaW5nIGl0IGZvciBoaW0sIHJlYWxseSwgYW5kIHRoYXQgZ2F2ZSB1cyBhIGxvdCBvZiBqb3ku4oCdPC9wPgoKCgo8cD5PbmUgZGF5LCB0aGUgZGlyZWN0b3IgY29uZmlkZWQgdG8gQnJvd246IOKAnEnigJltIGRlbGliZXJhdGVseSBzaG9vdGluZyBpdCB3aXRoIGxvbmcgdHJhY2tpbmcgc2hvdHMgc28gdGhleSBjYW7igJl0IHRha2UgaXQgYXdheSBhbmQgY3V0IGludG8gaXQu4oCdPC9wPgoKCgo8cD7igJxUaGF0IHdhcyBoaXMgdGhlb3J5LOKAnSBCcm93biBzYXlzOyDigJx0aGF0IGhpcyBiZWF1dGlmdWwgZmlsbSB3b3VsZCBnZXQgY3V0IHRvIGJpdHMuIEFuZCBoZSBzaG90IGl0IHNvIHRoZXkgY291bGRu4oCZdC7igJ08L3A+CgoKCjxwPkFwcHJveGltYXRlbHkgc2l4IHdlZWtzIGludG8gZmlsbWluZywgd2l0aCBwcm9kdWN0aW9uIHJ1bm5pbmcgYmVoaW5kIHNjaGVkdWxlIOKAkyBwYXJ0bHkgZHVlIHRvIGFsbCB0aG9zZSByZXdyaXRlcywgYnV0IGFsc28gYmVjYXVzZSBvZiBGaW5jaGVy4oCZcyBkZW1hbmQgZm9yIG11bHRpcGxlIHRha2VzIOKAkyBhbm90aGVyIGV4cGVuc2l2ZSBkZWNpc2lvbiB3YXMgbWFkZS4gRm91ciBzZXBhcmF0ZSB1bml0cyB3b3VsZCBmaWxtIGRpZmZlcmVudCBzY2VuZXMgc2ltdWx0YW5lb3VzbHkgYW5kLCBhcyBhIHJlc3VsdCwgZXZlcnkgYWN0b3IgaGFkIHRvIGJlIG9uIHNldCwgaW4gY29zdHVtZSwgZXZlcnkgc2luZ2xlIGRheS4gSW5ldml0YWJseSwgdGhpcyBtZWFudCB0aGF0LCBvbmNlIHRoZSBjYXN0IGhhZCBhcnJpdmVkIGF0IFBpbmV3b29kIGZvciBjb3N0dW1lIGFuZCBtYWtldXAgYXQgc2V2ZW4gZWFjaCBtb3JuaW5nLCB0aGVyZSB3YXMgYSBsb3Qgb2Ygd2FpdGluZyBhcm91bmQuPC9wPgoKCgo8cD7igJxZb3XigJlkIGJlIHN0YW5kaW5nIGJ5IGluIHRoZSBkcmVzc2luZyByb29tIGZvciB0aGUgcmVzdCBvZiB0aGUgZGF5LOKAnSBCcm93biByZWNhbGxzLiDigJxQZW9wbGUgd291bGQgYmUgcGxheWluZyBiYWNrZ2FtbW9uLiBXZSB1c2VkIHRvIHdhbmRlciBhcm91bmQgUGluZXdvb2QgYW5kIGFsbCBzb3J0cyBvZiBvdGhlciB0aGluZ3MuIEEgbG90IG9mIHRoZSB0aW1lIEkgd2FzIGhhbmdpbmcgb3V0IHdpdGggQnJpYW4gR2xvdmVyLCB3aG8gd2FzIG15IGNlbGxtYXRlIG5leHQgZG9vciwgbGlzdGVuaW5nIHRvIGhpcyBsaWZlIHN0b3J5LCB3aGljaCB3YXMgcHJldHR5IGZhc2NpbmF0aW5nLuKAnTwvcD4KCgoKPHA+QXQgb25lIHBvaW50LCBCcm93biBhbmQgdGhlIHJlc3Qgb2YgdGhlIGNhc3Qgd2VyZSByb2FtaW5nIHRoZSBQaW5ld29vZCBsb3QgYW5kIGRpc2NvdmVyZWQgS3lsaWUgTWlub2d1ZSBzaG9vdGluZyBhIHBvcCB2aWRlbyBmb3IgaGVyIHNvbmcsIFNob2NrZWQuIFBlcnR1cmJlZCBhdCBhbGwgdGhlc2UgcmF0aGVyIGxhcmdlLCBiYWxkIGFjdG9ycyBjbGFkIGluIGZpbHRoeSBwcmlzb24gb3V0Zml0cywgTWlub2d1ZSBxdWlldGx5IGFza2VkIGhlciBzZWN1cml0eSB0byBoYXZlIHRoZSByYWJibGUgbGVhdmUgdGhlIHNldC48L3A+CgoKCjxwPk9uZSBkYXkgaW4gZWFybHkgRmVicnVhcnksIDxlbT5BbGllbiAz4oCZPC9lbT5zIG9yaWdpbmFsIGNpbmVtYXRvZ3JhcGhlciBKb3JkYW4gQ3JvbmVud2V0aCwgd2hvIHdhcyB0b28gaWxsIGZyb20gUGFya2luc29u4oCZcyB0byBjb250aW51ZSBmaWxtaW5nLCBoYWQgdG8gbGVhdmUgdGhlIHByb2R1Y3Rpb24uIEhlIHdhcyByZXBsYWNlZCBieSBzZWFzb25lZCBkaXJlY3RvciBvZiBwaG90b2dyYXBoeSBBbGV4IFRob21zb24sIHdob+KAmWQgc2hvdCBSaWRsZXkgU2NvdHTigJlzIGZhbnRhc3kgTGVnZW5kIGF0IFBpbmV3b29kIGEgZmV3IHllYXJzIGVhcmxpZXIuPC9wPgoKCgo8cD7igJxJdOKAmXMgYSBwb3J0ZW50LCBSYWxwaCzigJ0gR2xvdmVyIHRvbGQgQnJvd24uIOKAnEkgd291bGRu4oCZdCBiZSBzdXJwcmlzZWQgaWYgdGhpcyBmaWxtIGRvZXNu4oCZdCBnZXQgZmluaXNoZWQu4oCdPC9wPgoKCgo8cD5HbG92ZXLigJlzIHByZWRpY3Rpb24gd2FzbuKAmXQgdG9vIGZhciBvZmYgdGhlIG1hcms6IHRoZSBwcm9kdWN0aW9uIGRpZCBlbmQgYmVmb3JlIHRoZSBmaWxtIHdhcyBjb21wbGV0ZWQuIEluIEp1bmUgMTk5MCwgZm9sbG93aW5nIGZpdmUgZ3J1ZWxsaW5nIG1vbnRocyBvZiBzaG9vdGluZywgdGhlIGRlY2lzaW9uIHdhcyBoYW5kZWQgZG93biBmcm9tIEZveCBleGVjdXRpdmVzIHRoYXQgRmluY2hlciBoYWQgdG8gc3RvcC4gVGhlIFBpbmV3b29kIHByb2R1Y3Rpb24gd291bGQgYmUgd291bmQgdXAsIHRoZSBmb290YWdlIGNhcHR1cmVkIHNvIGZhciBlZGl0ZWQgdG9nZXRoZXIgYW5kIGFzc2Vzc2VkLCBhbmQgYW55IGdhcHMgY291bGQgYmUgZmlsbGVkIGluIHdpdGggbGF0ZXIgcmVzaG9vdHMgaW4gTG9zIEFuZ2VsZXMuPC9wPgoKCgo8cD5FZGl0b3IgVGVycnkgUmF3bGluZ3MgZmxldyBvdmVyIHRvIEhvbGx5d29vZCBhbmQsIGZvciBhYm91dCBzaXggbW9udGhzLCBzYXQgYW5kIHdvcmtlZCB1cCBhIHRocmVlLWhvdXIgcm91Z2ggY3V0IG9mIHdoYXQgRmluY2hlciBoYWQgc2hvdCBzbyBmYXIuIFdoZW4gc2NyZWVuZWQgZm9yIEZveCBleGVjdXRpdmVzLCB0aGUgcmVzcG9uc2Ugd2FzIGxlc3MgdGhhbiBlY3N0YXRpYy4gQW4gYXV0b3BzeSBzZXF1ZW5jZSBpbnZvbHZpbmcgdGhlIGRlY2Vhc2VkIE5ld3Qgd2FzIGNvbnNpZGVyZWQgdG9vIGdyYXBoaWMgYW5kIHdhcyBoZWF2aWx5IGN1dCBkb3duLiBUaGUgb3JpZ2luYWwgaWRlYSBvZiBoYXZpbmcgdGhlIHhlbm9tb3JwaCBlbWVyZ2UgZnJvbSBhbiBveCB3YXMgYWxzbyBzY3JhcHBlZDsgYSBuZXcgc2NlbmUgd2FzIHNob3QgaW4gd2hpY2ggdGhlIGFsaWVu4oCZcyBob3N0IGlzIGEgZG9nLiBGaW5jaGVyIGxhdGVyIHNhaWQgdGhhdCBzZXZlcmFsIHNlcXVlbmNlcyBoZSBjb25zaWRlcmVkIGltcG9ydGFudCB3ZXJlIGV4Y2lzZWQgZm9sbG93aW5nIGEgbGF0ZXIgc2NyZWVuaW5nIGZvciB0aGUgcHVibGljLjwvcD4KCgoKPHA+4oCcQSB0ZXN0IHNjcmVlbmluZyBhdWRpZW5jZSBvZiAxOC15ZWFyLW9sZHMgaW4gTG9uZyBCZWFjaCwgQ2FsaWZvcm5pYSBkZWNpZGVkIHRoYXQgdGhleSB3ZXJlbuKAmXQgaW50ZXJlc3RlZCBpbiB3aGF0IGhhcHBlbmVkIHRvIEdvbGljLOKAnSBGaW5jaGVyIHRvbGQgTWFyayBCdXJtYW4uIEFzIGEgcmVzdWx0LCB0aGUgZGlyZWN0b3Igc2FpZCwg4oCcYSB3aG9sZSBzdWJwbG90IHdhcyBsb3N0IHRvIHRoaXMgZGF5IHRoYXQgSSBmZWVsIGlzIHZlcnkgaW1wb3J0YW50IGFuZCBjZXJ0YWlubHkgYW5zd2VycyBhIGxvdCBvZiB0aGUgY3JpdGljc+KAmSBxdWVzdGlvbnMgYWJvdXQgbXkgaW5hYmlsaXR5IHRvIHRlbGwgYSBzdG9yeS7igJ08L3A+CgoKCjxwPkluIHRoZSBvcmlnaW5hbCBzY3JpcHQsIEZpbmNoZXIgc2FpZCwgdGhlIG1lbnRhbGx5IHRyb3VibGVkIEdvbGljIChQYXVsIE1jR2FubikgYmVjYW1lIGNvbnZpbmNlZCB0aGF0IGhlIGFuZCBSaXBsZXkgd2VyZSBBZGFtIGFuZCBFdmUsIGFuZCB0aGF0IHRoZSB4ZW5vbW9ycGggd2FzIHNsYXVnaHRlcmluZyBldmVyeW9uZSBlbHNlIGluIHRoZSBmYWNpbGl0eSBleGNlcHQgdGhlbSBiZWNhdXNlIG9mIHNvbWUgdW5rbm93YWJsZSBkaXZpbmUgcGxhbi48L3A+CgoKCjxwPuKAnFRoYXQgaWRlYSBiYXNpY2FsbHkgZ290IGNhc3QgYXNpZGUgYmVjYXVzZSBpdCB3YXMgY29uc2lkZXJlZCB0byBiZSB0b28gc3RyYW5nZSzigJ0gRmluY2hlciBzYWlkLiDigJxCdXQgdGhhdCB3YXMgdGhlIHdob2xlIGlkZWEgJiM4MjExOyB3aHkgaXMgdGhlIGFsaWVuIGtpbGxpbmcgZXZlcnlib2R5IG9mZj8gVGhlIG9uZSBkZWx1ZGVkIHBvaW50IG9mIHZpZXcgaW4gdGhlIHdob2xlIHRoaW5nIGlzIHRoYXQgaXTigJlzIHdlZWRpbmcgW291dF0gYWxsIHRoZSBodW1hbiByZWZ1c2UgdG8gbGVhdmUgR29saWMgYW5kIFJpcGxleS7igJ08L3A+CgoKCjxwPkxpa2UgbWFueSBvZiBGaW5jaGVy4oCZcyBpZGVhcywgdGhlIHBsb3QgZGV0YWlsIHdhcyBleGNpc2VkIGZyb20gdGhlIGZpbmlzaGVkIGZpbG07IGluIGZhY3QsIE1jR2FubuKAmXMgY2hhcmFjdGVyIHN1ZGRlbmx5IGdvZXMgbWlzc2luZyBpbiB0aGUgc2Vjb25kIGhhbGYgb2Y8ZW0+IEFsaWVuIDPigJk8L2VtPnMgdGhlYXRyaWNhbCBjdXQuIFRoZSBzZXF1ZW5jZXMgd2hlcmUgaGUgZnJlZXMgdGhlIHhlbm9tb3JwaCwgd2hpY2ggaGFkIGJlZW4gdHJhcHBlZCBpbiBhIGNoYW1iZXIgYnkgdGhlIG90aGVyIGlubWF0ZXMsIHdlcmUgbGF0ZXIgcmVzdG9yZWQgaW4gYSAyMDAzIEFzc2VtYmx5IEN1dCwgYnV0IHRoZSBxdWFzaS1yZWxpZ2lvdXMgbW90aXZhdGlvbiB3YXMgc3RpbGwgbWlzc2luZy48L3A+CgoKCjxwPk1vbnRocyBsYXRlciwgaW4gTm92ZW1iZXIgMTk5MSwgQnJvd24gYW5kIHNldmVyYWwgb3RoZXIgYWN0b3JzIOKAkyBpbmNsdWRpbmcgUGV0ZSBQb3N0bGV0aHdhaXRlIGFuZCBQYXVsIE1jR2FubiDigJMgd2VyZSBmbG93biBvdXQgdG8gSG9sbHl3b29kIHRvIHNob290IG5ldyBzY2VuZXMuIEJ5IHRoZW4sIEJyb3du4oCZcyBoYWlyIGhhZCBncm93biBhbmQgaGXigJlkIGJlZ3VuIHdvcmsgb24gTmVpbCBKb3JkYW7igJlzIGNyaW1lIHRocmlsbGVyLCBUaGUgQ3J5aW5nIEdhbWUuIFVuYWJsZSB0byBzaGF2ZSBoaXMgaGVhZCBhZ2FpbiwgQnJvd24gaW5zdGVhZCBoYWQgdG8gZW5zdXJlIHRoYXQgQWFyb24ga2VwdCBoaXMgY2FwIHNxdWFyZWx5IG9uIGhpcyBoZWFkIGF0IGFsbCB0aW1lczsg4oCcWW91IGNhbiBhY3R1YWxseSBzcG90IHRoZSByZXNob290cyBpZiB5b3UgZ28gZnJhbWUgYnkgZnJhbWUsIGJlY2F1c2UgeW91IGNhbiBzZWUgdGhlIGxvbmcgaGFpciB1bmRlcm5lYXRoIHRoZSBjYXAganVzdCBwZWVraW5nIHRocm91Z2gs4oCdIEJyb3duIHRlbGxzIHVzLjwvcD4KCgoKPHA+U2ltaWxhcmx5LCBXZWF2ZXLigJlzIGhhaXIgaGFkIGFsc28gZ3Jvd24gYmFjazsgaWYgRm94IHdhbnRlZCBoZXIgdG8gc2hhdmUgaGVyIGhlYWQgYWdhaW4sIHNoZSBzYWlkLCB0aGVuIHNoZSB3YW50ZWQgYSAkNDAsMDAwIGJvbnVzIG9uIHRvcCBvZiBoZXIgYWxyZWFkeSBodWdlIHNhbGFyeS4gUmVmdXNpbmcgdG8gcGF5IHVwLCBGb3ggaW5zdGVhZCBzcGVudCAkMTYsMDAwIG9uIG1ha2luZyBhIHRoaW4gcHJvc3RoZXRpYyBoZWFkcGllY2UgdGhhdCBtYXRjaGVkIFdlYXZlcuKAmXMgaGFpciBmcm9tIGVhcmxpZXIgaW4gdGhlIHllYXIuPC9wPgoKCgo8cD5Ccm93biByZWNhbGxzIHRoYXQgdGhlIHByb2R1Y3Rpb24gbmVlZGVkIOKAnGFib3V0IGhhbGYgYSBkb3plbiBzaG90c+KAnSBpbiBvcmRlciB0byBtYWtlIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgZmlsbSB3b3JrOyB0aGUgbW9zdCBleHRlbnNpdmUgcmVzaG9vdHMsIGhvd2V2ZXIsIGFmZmVjdGVkPGVtPiBBbGllbiAzPC9lbT7igJlzIGVuZGluZy4gSW1wcmVnbmF0ZWQgd2l0aCBhIHhlbm9tb3JwaCBRdWVlbiwgYW5kIGNvcm5lcmVkIGJ5IFdleWxhbmQtWXV0YW5pIHNvbGRpZXJzLCBSaXBsZXkgb3B0cyB0byBzYWNyaWZpY2UgaGVyc2VsZiByYXRoZXIgdGhhbiBhbGxvdyB0aGUgY3JlYXR1cmUgdG8gYmUgY2FwdHVyZWQgYnkgdGhlIGNvcnBvcmF0aW9uLjwvcD4KCgoKPHA+QXMgb3JpZ2luYWxseSBzaG90LCBSaXBsZXkgc2ltcGx5IGZlbGwgYmFja3dhcmRzIGludG8gYSBibGF6aW5nIGZ1cm5hY2UuIFRlc3QgYXVkaWVuY2VzLCBob3dldmVyLCB3YW50ZWQgc29tZXRoaW5nIG1vcmUgZHJhbWF0aWMg4oCTIGFuZCBhZ2FpbnN0IEZpbmNoZXLigJlzIGJldHRlciBqdWRnZW1lbnQgKGluIHRoZSBmYWNlIG9mIGZlYXJzIGZyb20gc29tZSB0aGF0IHRoZSBvcmlnaW5hbCBzY2VuZSBtaWdodCBiZSB0b28gY2xvc2UgdG8gPGVtPlRlcm1pbmF0b3IgMjogSnVkZ21lbnQgRGF5PC9lbT4pLCB0aGUgY2xpbWFjdGljIHNjZW5lIHdhcyByZXNob3Qgc28gdGhhdCB0aGUgY2hlc3RidXJzdGVyIGVtZXJnZWQgZnJvbSBSaXBsZXkganVzdCBiZWZvcmUgc2hlIG1ldCBoZXIgZmllcnkgZGVhdGguPC9wPgoKCgo8cD7igJxJIGRpZG7igJl0IHdhbnQgdG8gaGF2ZSB0aGUgYWxpZW4gY29tZSBvdXQs4oCdIEZpbmNoZXIgc2FpZCBpbiAxOTkzLiDigJxPcmlnaW5hbGx5IFtSaXBsZXldIGZhbGxzIGJhY2t3YXJkcywgc3RhbmRpbmcgb24gdGhlIGdhbnRyeeKApiBJIG5ldmVyIGZlbHQgaXQgd2FzIG5lY2Vzc2FyeSB0byBzaG93IHRoZSBjcmVhdHVyZS4gW0J1dF0gd2Ugc2hvd2VkIGl0IHRvIHByZXZpZXcgYXVkaWVuY2VzIGFuZCBpdCB3YXMgdm90ZWQgdGhhdCB3ZSB3b3VsZCBkbyB0aGlzLuKAnTwvcD4KCgoKPHA+RmluY2hlciBhZGRlZCB0aGF0IGEgcGl2b3RhbCBzaG90LCBsb29raW5nIGRvd24gb24gUmlwbGV5IGFzIHNoZSBmYWxscyBpbnRvIHRoZSBidXJuaW5nIGxlYWQsIHdhcyBzaG90IOKAnGZvdXIgZGF5cyBiZWZvcmUgdGhlIGZpbG0gb3BlbmVkLOKAnSB3aGljaCBleHBsYWlucyB3aHkgYW4gb3RoZXJ3aXNlIGRyYW1hdGljIHNlcXVlbmNlIGxvb2tzIHNvIHJvdWdoIGFyb3VuZCB0aGUgZWRnZXMuIEZpbmNoZXIgaGltc2VsZiBkZXNjcmliZWQgaXQgYXMg4oCcYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBtZXNzLiBJIGRvbuKAmXQga25vdyBpZiBpdCB3b3Jrcy7igJ08L3A+CgoKCjxwPlRoZSByZWFjdGlvbiBhbW9uZyB0aGUgY2FzdCB0byBGaW5jaGVy4oCZcyBjdXQgd2FzIG1vcmUgcG9zaXRpdmUuIEJyb3duIHJlY2FsbHMgdGhhdCwgd2hpbGUgdGhlIGZpbG0gd2FzIHN0aWxsIGluIGVhcmx5IHBvc3QtcHJvZHVjdGlvbiwgRmluY2hlciBoYWQgaW52aXRlZCBCcm93biBhbmQgc2V2ZXJhbCBvdGhlciBtYWlubGluZSBhY3RvcnMgdG8gd2F0Y2ggaXQgaW4gYSBzbWFsbCBzY3JlZW5pbmcgcm9vbS48L3A+CgoKCjxwPuKAnEhl4oCZZCBwdXQgc29tZSBBYXJvbiBDb3BsYW5kIG11c2ljIG92ZXIgaXQsIGFuZCBpdCB3YXMgbWFqZXN0aWMs4oCdIEJyb3duIHJlY2FsbHMuIOKAnEEgYnJpbGxpYW50IHBpZWNlIG9mIHdvcmsuIFRoZSBmaWxtIHdlIHNhdyBhdCB0aGUgcHJlbWllcmUgaW4gTG9zIEFuZ2VsZXMgZGlkbuKAmXQgcmVhbGx5IGJlYXIgYW55IHJlc2VtYmxhbmNlIHRvIGl0OyBpdCB3YXMgaGFja2VkIHRvIHBpZWNlcy7igJ08L3A+CgoKCjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgaWQ9ImgtdG8tdGhlLWVuZCI+PHN0cm9uZz5UbyB0aGUgZW5kPC9zdHJvbmc+PC9oMj4KCgoKPHA+V2Vla3MgYmVmb3JlIDxlbT5BbGllbiAzPC9lbT7igJlzIE1heSAxOTkyIHJlbGVhc2UsIHRoZSBmaWxtIHdhcyBlc3NlbnRpYWxseSB0YWtlbiBhd2F5IGZyb20gRmluY2hlciBhbmQgcmVjdXQgd2l0aG91dCBoaXMgaW52b2x2ZW1lbnQuIFNldmVyYWwgbWludXRlcyB3ZXJlIGN1dCBvdXQsIG1hbnkgb2YgdGhlbSBpbnRlbmRlZCB0byBlc3RhYmxpc2ggY2hhcmFjdGVycyBvciBnZW5lcmF0ZSBhdG1vc3BoZXJlLCBpbiBvcmRlciB0byBnZXQgdG8gdGhlIGFjdGlvbiBtb3JlIHF1aWNrbHkuIEZvciBGaW5jaGVyLCBpdCB3YXMgdGhlIGZpbmFsIGJsb3cgZm9sbG93aW5nIGFuIGFscmVhZHkgYnJ1dGFsIHByb2R1Y3Rpb247IEJyb3duIHJlY2FsbHMgc2VlaW5nIHRoZSBkaXJlY3RvciBhdCB0aGUgcHJlbWllcmUg4oCcYmVpbmcgYnJhdmUgYW5kIHByZXRlbmRpbmcgaGUgd2FzIGhhdmluZyBhIGdvb2QgdGltZSwgYnV0IGhlIHdhc27igJl0IHJlYWxseS7igJ08L3A+CgoKCjxwPlJlbGVhc2VkIG9uIE1heSAyMm5kIDE5OTI8ZW0+LCBBbGllbiAzIDwvZW0+ZGlkbuKAmXQgZG8gYmFkbHkgZmluYW5jaWFsbHksIHRob3VnaCBjcml0aWNzIHJvdW5kZWQgb24gdGhlIHNlcXVlbCBmb3IgaXRzIGdsb29taW5lc3MgYW5kIGxhY2sgb2Ygc3VzcGVuc2UuPC9wPgoKCgo8cD7igJxJIHRoaW5rIGF1ZGllbmNlcyBmaW5kIGl0IHByZXRlbnRpb3VzIGFuZCBwb25kZXJvdXMgYW5kIHJlc2VudCB0aGUgZmFjdCB0aGF0IGl04oCZcyBub3QgYSBzY2FyeS1zY2FyZSBtb3ZpZSzigJ0gRmluY2hlciBjb25jZWRlZC4g4oCcSXTigJlzIGEgcXVlYXN5IHNjYXJlIG1vdmllLuKAnTwvcD4KCgoKPHA+Vmlld2VkIHRvZGF5LCA8ZW0+QWxpZW4gMyA8L2VtPmNsZWFybHkgYmVhcnMgdGhlIHNjYXJzIG9mIGl0cyBkaWZmaWN1bHQgYmlydGguIEV2ZW4gaW4gaXRzIGxvbmdlciBBc3NlbWJseSBDdXQgKHdoaWNoIEZpbmNoZXIgd2FzbuKAmXQgaW52b2x2ZWQgaW4pIGl0cyBjaGFzZSBzZXF1ZW5jZXMgYXJlIHNvbWV0aW1lcyBtdXJreSBhbmQgZGlmZmljdWx0IHRvIGZvbGxvdy4gVGhlIHhlbm9tb3JwaCBhcHBlYXJzIHRvIGNoYW5nZSBpbiBzaXplIGZyb20gYW5nbGUgdG8gYW5nbGUsIHdpdGggaXRzIGFjdG9yLWluLWEtc3VpdCBzaG90cyBub3QgcXVpdGUgbWF0Y2hpbmcgdGhlIHJvZCBwdXBwZXRzIHVzZWQgZWxzZXdoZXJlLiBJdHMgY2hvaWNlIG9mIHN1cnZpdm9yIGlzIGFsc28gcXVpdGUgc3RyYW5nZTogaW5zdGVhZCBvZiBBYXJvbiDigJMgb25lIG9mIHRoZSBjZW50cmFsIGNoYXJhY3RlcnMg4oCTIEdpbGVyIGFuZCBIaWxsIGNob3NlIHRoZSBwcmlzb25lciBNb3JzZSAoRGFubnkgV2ViYikgYXMgdGhlIGx1Y2t5IG9uZSB0byBtYWtlIGl0IG91dC48L3A+CgoKCjxwPkFsbCB0aGUgc2FtZSw8ZW0+IEFsaWVuIDM8L2VtPiBpcyBzdGlsbCBvZiBhIHBpZWNlIHdpdGggRmluY2hlcuKAmXMgbGF0ZXIgd29yazogeW91IGNhbiBzZWUgaGlzIG1hc3Rlcnkgb2YgbGlnaHRpbmcgYW5kIGNvbXBvc2l0aW9uLCBhbmQgaGlzIGFiaWxpdHkgdG8gdGVsbCBhIHN0b3J5IGluIG9uZSBzdGFyaywgc3RyaWtpbmcgaW1hZ2UuIEl04oCZcyB0ZWxsaW5nIHRoYXQsIGFsdGhvdWdoIDxlbT5BbGllbiAzIDwvZW0+d2FzbuKAmXQgYXMgYWNjbGFpbWVkIGFzIHRoZSBmaXJzdCB0d28sIGl0cyBzaG90IG9mIFJpcGxleSBjb3dlcmluZyBmcm9tIHRoZSB4ZW5vbW9ycGgsIGl0cyBmYW5nZWQsIGdsaXN0ZW5pbmcgaGVhZCBpbiBwcm9maWxlLCBpcyBhbW9uZyB0aGUgbW9zdCBpY29uaWMgaW4gdGhlIHdob2xlIGZyYW5jaGlzZS48YnI+RXZlbiBpbiAxOTkzLCB3aGVuIEZpbmNoZXIgd2FzIHN0aWxsIHByb2Nlc3NpbmcgdGhlIGZhbGxvdXQgZnJvbSBoaXMgZGVidXQsIGhlIHNlZW1lZCB0byByZWFsaXNlIGhl4oCZZCBtYWRlIHNvbWV0aGluZyBvZiB3b3J0aCwgZmxhd2VkIHRob3VnaCBpdCB3YXMuPC9wPgoKCgo8cD7igJxJ4oCZbSBzbyBoYXBweSB3aXRoIHRoZSBtb25zdGVycywgdGhlIFNGWCwgdGhlIGxvb2sgb2YgdGhlIGZpbG0sIHRoZSBwZXJmb3JtYW5jZXMsIGFuZCB3aGF0IHBlb3BsZSB3ZXJlIGFibGUgdG8gZG8gd2l0aCB3aGF0ZXZlciBtaW5pbWFsIHByZXAgdGhleSBoYWQs4oCdIGhlIHRvbGQgQnVybWFuLiDigJxJIGRvbuKAmXQgd2FudCB0byBzZWVtIHVuZ3JhdGVmdWwuIEnigJltIG5vdCBlbWJhcnJhc3NlZCBieSB0aGUgZmlsbS7igJ08YnI+SW4gdGhlIGFmdGVybWF0aCBvZiA8ZW0+QWxpZW4gMzwvZW0+4oCZcyB0cmlhbC1ieS1maXJlIG1ha2luZywgQnJvd24gYW5kIEZpbmNoZXIgcmVtYWluZWQgY2xvc2UgZnJpZW5kcyBmb3IgYSB0aW1lLiBPbmNlIHdvcmsgb24gdGhlIGZpbG0gZmluYWxseSBlbmRlZCwgRmluY2hlciBjb252aW5jZWQgQnJvd24gYW5kIGhpcyB3aWZlIEplbm55IEp1bGVzIHRvIG1vdmUgdG8gTG9zIEFuZ2VsZXMsIHdoZXJlIHRoZSBhY3RvciBzcGVudCBzZXZlcmFsIHllYXJzIHdvcmtpbmcgYW5kIGF1ZGl0aW9uaW5nOyBpbiAxOTkzLCBCcm93biBsYW5kZWQgYSBzdXBwb3J0aW5nIHJvbGUgaW4gPGVtPldheW5l4oCZcyBXb3JsZCAyLDwvZW0+IHBsYXlpbmcgRGVsIFByZXN0b24g4oCTIGEgcmlmZiBvbiBoaXMgb2xkIERhbm55IGNoYXJhY3RlciBmcm9tIDxlbT5XaXRobmFpbCAmYW1wOyBJLjwvZW0+PC9wPgoKCgo8cD5Ccm93biBhbmQgRmluY2hlciBodW5nIG91dCB0b2dldGhlciBpbiBXZXN0IEhvbGx5d29vZCBmb3IgYSBjb3VwbGUgb2YgeWVhcnMsIHdpdGggdGhlIGRpcmVjdG9yLCBzdGlsbCBzdHVuZyBieSA8ZW0+QWxpZW4gMywgPC9lbT5wb25kZXJpbmcgaGlzIG5leHQgbW92ZS4gQXQgb25lIHN0YWdlLCBoZeKAmWQgY29udGVtcGxhdGVkIG1ha2luZyBhIGZpbG0gdmVyc2lvbiBvZiBCcml0aXNoIFRWIHNlcmllczxlbT4gVGhlIEF2ZW5nZXJzLDwvZW0+IHBvc3NpYmx5IHdpdGggQ2hhcmxlcyBEYW5jZSBhcyBkYXBwZXIgc3B5IEpvaG4gU3RlZWQ7IHRoYXQgZmlsbSB3b3VsZCBldmVudHVhbGx5IGJlIG1hZGUgYnkgSmVyZW1pYWggUyBDaGVjaGlrLCBhbmQgaGFzIGEgdHVtdWx0dW91cyBwcm9kdWN0aW9uIHN0b3J5IG9mIGl0cyBvd24uPC9wPgoKCgo8cD5Gb3IgYSB3aGlsZSwgRmluY2hlciBoYWQgZXZlbiBjb25zaWRlcmVkIHF1aXR0aW5nIHRoZSBmaWxtIGJ1c2luZXNzIGVudGlyZWx5Ljxicj48L3A+CgoKCjxwPuKAnEhlIHdhcyBsaWNraW5nIGhpcyB3b3VuZHMsIHJlYWxseSzigJ0gQnJvd24gcmVjYWxscy4g4oCcVGhhdCB0d28geWVhcnMsIHdoZW4gd2Ugd2VyZSBoYW5naW5nIG91dCB0b2dldGhlciBpbiBMb3MgQW5nZWxlcywgaGUgd2FzIHZlcnksIHZlcnkgZGlzYXBwb2ludGVkLuKAnTwvcD4KCgoKPHA+VGhlbiwgb25lIGRheSwgQnJvd24gd2FzIHNpdHRpbmcgaW4gRmluY2hlcuKAmXMgYXBhcnRtZW50IHdoZW4gdGhlIGZpbG1tYWtlciBwcm9kdWNlZCBhIHNjcmlwdCBmb3IgYSB0aHJpbGxlciBjYWxsZWQgPGVtPlNldmVuPC9lbT4uIE9yaWdpbmFsbHksIEZpbmNoZXIgaGFkIHdhbnRlZCBCcm93biB0byBwbGF5IEpvaG4gRG9lLCBidXQgYWxhcywgaXQgd2FzbuKAmXQgdG8gYmU7IEJyb3duIHN0cnVnZ2xlZCBhdCBoaXMgYXVkaXRpb24sIGFuZCB0aGUgcGFydCBldmVudHVhbGx5IHdlbnQgdG8gYW4gdW5jcmVkaXRlZCBLZXZpbiBTcGFjZXkuIFByb2R1Y2VkIGJ5IE5ldyBMaW5lIGFuZCByZWxlYXNlZCBpbiAxOTk1LCA8ZW0+U2V2ZW4gPC9lbT53YXMgYSBjcml0aWNhbCBhbmQgZmluYW5jaWFsIGhpdCwgYW5kIGEgbXVjaC1uZWVkZWQgY291cnNlLWNvcnJlY3Rpb24gZm9yIEZpbmNoZXIuPC9wPgoKCgo8cD5UaGUgZmlsbSBhbmQgdGhvc2UgdGhhdCBjYW1lIGFmdGVyIHdlcmUsIEJyb3duIHNheXMsIEZpbmNoZXLigJlzIOKAnHJldmVuZ2XigJ0gZm9yIHRoZSBuaWdodG1hcmlzaCBwcm9kdWN0aW9uIG9uIDxlbT5BbGllbiAzLjwvZW0+PC9wPgoKCgo8cD7igJxUaGV54oCZcmUgdmVyeSBkYXJrIG9uIHRoZSB3aG9sZSwgaGlzIGZpbG1zLCBhbmQgY3luaWNhbCzigJ0gc2F5cyBCcm93bi4g4oCcS2luZCBvZiBydXRobGVzcy7igJ08L3A+CjxkaXYgY2xhc3M9ImFkZHRvYW55X3NoYXJlX3NhdmVfY29udGFpbmVyIGFkZHRvYW55X2NvbnRlbnQgYWRkdG9hbnlfY29udGVudF9ib3R0b20iPjxkaXYgY2xhc3M9ImFkZHRvYW55X2hlYWRlciI+U2hhcmUgdGhpcyBBcnRpY2xlOjwvZGl2PjxkaXYgY2xhc3M9ImEyYV9raXQgYTJhX2tpdF9zaXplXzMyIGFkZHRvYW55X2xpc3QiIGRhdGEtYTJhLXVybD0iaHR0cHM6Ly9zdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL2NyZXctZXhwZW5kYWJsZS10aGUtbWFraW5nLW9mLWFsaWVuLTMvIiBkYXRhLWEyYS10aXRsZT0iQ3JldyBFeHBlbmRhYmxlOiBUaGUgbWFraW5nIG9mIEFsaWVuIDMiPjxhIGNsYXNzPSJhMmFfYnV0dG9uX2ZhY2Vib29rIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL2ZhY2Vib29rP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZzdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZjcmV3LWV4cGVuZGFibGUtdGhlLW1ha2luZy1vZi1hbGllbi0zJTJGJmFtcDtsaW5rbmFtZT1DcmV3JTIwRXhwZW5kYWJsZSUzQSUyMFRoZSUyMG1ha2luZyUyMG9mJTIwQWxpZW4lMjAzIiB0aXRsZT0iRmFjZWJvb2siIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fdHdpdHRlciIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by90d2l0dGVyP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZzdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZjcmV3LWV4cGVuZGFibGUtdGhlLW1ha2luZy1vZi1hbGllbi0zJTJGJmFtcDtsaW5rbmFtZT1DcmV3JTIwRXhwZW5kYWJsZSUzQSUyMFRoZSUyMG1ha2luZyUyMG9mJTIwQWxpZW4lMjAzIiB0aXRsZT0iVHdpdHRlciIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2J1dHRvbl9lbWFpbCIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by9lbWFpbD9saW5rdXJsPWh0dHBzJTNBJTJGJTJGc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGY3Jldy1leHBlbmRhYmxlLXRoZS1tYWtpbmctb2YtYWxpZW4tMyUyRiZhbXA7bGlua25hbWU9Q3JldyUyMEV4cGVuZGFibGUlM0ElMjBUaGUlMjBtYWtpbmclMjBvZiUyMEFsaWVuJTIwMyIgdGl0bGU9IkVtYWlsIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PC9hPjxhIGNsYXNzPSJhMmFfZGQgYWRkdG9hbnlfc2hhcmVfc2F2ZSBhZGR0b2FueV9zaGFyZSIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL3NoYXJlIj48L2E+PC9kaXY+PC9kaXY+